ServiceStack.OrmLite - هل يمكنني أن أفعل شيئًا مثل Db.Select<Foo, Bar>()؟
-
21-12-2019 - |
سؤال
كيف Select
البيانات باستخدام Service.OrmLite
من جدولين JOIN
دون إنشاء Poco (Coal+Data) آخر لهذا الغرض فقط.
لدي Poco for 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 التجاري.
لا تنتمي إلى StackOverflow