ServiceStack.OrmLite - هل يمكنني أن أفعل شيئًا مثل Db.Select<Foo, Bar>()؟

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

سؤال

كيف 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 التجاري.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top