ServiceStack.ORMLite - могу ли я сделать что-то вроде Db.Select<Foo, Bar="">()?

StackOverflow https://stackoverflow.com//questions/22021442

Вопрос

Как Select использование данных Service.OrmLite из двух таблиц JOINбез создания другого Poco (уголь +данные) только для этой цели.

У меня есть Poco для Coal и для CoalData, например:

class Coal {
    // PK
    public long Id {get; set;}
    public string Name {get; set;}
}

class CoalData {
    // FK
    public long Id {get; set;}
    public int Prop1 {get; set;}
    ....
}

В Dapper это просто любить:

var personWithAddress = connection
    .Query<Person, Address, Extra, Tuple<Person, Address, Extra>>
    (sql, (p, a, e) => Tuple.Create(p, a, e), splitOn: "AddressId,Id").First();
Это было полезно?

Решение

ServiceStack.ORMLite не поддерживает объединение двух или более таблиц, как вы предлагаете.В настоящее время он поддерживает только простые выражения, а для соединений рекомендует вернуться к необработанным SQL-запросам. Смотрите здесь для функциональности ORMLite.

Для чего-либо более сложного (например,запросы с объединением таблиц) вы все равно можете легко вернуться к необработанным SQL-запросам, как показано ниже.

Однако ServiceStack.ORMLite, вероятно, получит лучшую поддержку объединений в ближайшем будущем, так как это лучший открыть запрос функции, но в рамках коммерческого предложения ServiceStack.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top