2012-05-14 4 views
1

Я обобщил свою проблему, чтобы удовлетворить наибольшее количество людей с аналогичными проблемами.OrmLite с вложенными избранными запросами

public class Table1 { 
    [AutoIncrement] 
    public Int32 Id { get; set; } 
    [Index(Unique = true)] 
    public string FieldA { get; set; } 
    public string FieldB { get; set; } 
    public string FieldC { get; set; } 
} 

public Table2 { 
    [AutoIncrement] 
    public Int32 Id { get; set; } 
    [Index(Unique = true)] 
    public Table1 FieldA { get; set; } 
    public DateTime FieldB { get; set; } 
    public int FieldC { get; set; } 
} 

public Table3 { 
    [AutoIncrement] 
    public Int32 Id { get; set; } 
    [Index(Unique = true)] 
    public List<Table2> FieldA { get; set; } 
    public List<Table1> FieldB { get; set; } 
} 

public Table4 { 
    [AutoIncrement] 
    public Int32 Id { get; set; } 
    [Index(Unique = true)] 
    public int FieldA { get; set; } 
    [References(typeof(Table3))] 
    public int Table3_id { get; set; } 
    [References(typeof(Table2))] 
    public int Table2_id { get; set; } 
} 

Как я могу заполнить List, содержащий полную информацию о table4? Т.е.: в том числе значение каждого поля его таблиц с привязкой - и ссылочные таблицы этих

Мне также будет интересно, как я мог бы создать единую форму CRUD - из сериализации JSON, которая может создавать совершенно новые Таблица 4, вложенная в формы CRUD для таблиц 3, таблицы 2 и таблицы 1.

Спасибо за всю помощь

+0

привет Серый, OrmLite также C# ORM библиотека: https://github.com/ServiceStack/ServiceStack.OrmLite –

ответ

1

Для чтения из нескольких таблиц в 1 запрос необходимо использовать SQL JOIN, которая отображается в объединенный Poco, который соответствует возвращенному множеству результатов, смотрите примеры грузоотправителя этого ответа в течение пример:

https://stackoverflow.com/a/8617860/85785

+0

Так ни вложенных запросов на выборку, ни объединений поддерживаются OrmLite? - I.e .: Мне нужно написать чистый SQL? - Вы можете добавить поддержку для любого из этих методов? –

+0

Что бы вы хотели, чтобы API выглядел? – mythz

+0

Спасибо, что спросили. Я рекомендую: [this] (http://docs.sqlalchemy.org/en/latest/orm/query.html#sqlalchemy.orm.query.Query.join) вид синтаксиса. –

 Смежные вопросы

  • Нет связанных вопросов^_^