الاستعلام عن مجموعة أطراف بأطراف أو كيفية تضمين جدول متعدد إلى متعدد في استعلام معايير؟

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

سؤال

أنا جديد تمامًا على عالم NHibernate ولا يبدو أنني أجعل هذا يعمل باستخدام استعلام المعايير: الاستعلام عن علاقة أطراف بأطراف أو استعلام عن مجموعة (مجموعة / حقيبة) على شخصية. لقد بحثت في الإنترنت وفحصت جميع كتب NHibernate التي لدينا ، ولكن لا يمكنني العثور على إجابة محددة لـ "التحدي".

لقد قدمت مثالًا مبسطًا للمشكلة التي أحاول حلها. لدي طاولة بها كتب ، وجدول به فئات وجدول متعدد إلى متعدد مع الفئات لكل كتاب. فيما يلي بعض الجوانب الفنية:

بنية البيانات: Genacodicetagpre

فصول C #:

Genacodicetagpre

تعيينات NHibernate:

Genacodicetagpre

سؤالي: هل من الممكن الاستعلام (باستخدام معايير ICriteria و / أو المعايير المنفصلة) عن قاعدة البيانات بطريقة أحصل على الكتب الموجودة في إحدى الفئات التي أحددها (على سبيل المثال: في catA أو catB ، يمكن كن "و" كذلك)؟ أريد تحسين هذا في الاستعلام ، وليس في C # (حيث أحتاج إلى قراءة جميع الكتب من قاعدة البيانات قبل أن أتمكن من تصفية الكائنات بناءً على مجموعة العلامات الخاصة بهم). إذا كنت أكتب SQL يدويًا ، فسأنتج شيئًا مثل هذا: Genacodicetagpre

بما أنه ليس لدي كيان لـ tableCategoriesPerBook ، لا أرى طريقة للوصول إلى هذا الجدول باستخدام استعلام المعايير. وأنا أفضل عدم إضافة جزء مكتوب بخط اليد من تعبيرات SQL باستخدام:

Genacodicetagpre

هناك عامل أخير مهم: أنا أستخدم قاعدة بيانات Brownfield ، لذا لا يمكنني تغيير الهيكل! هذا ما يجب أن أعمل به مع قاعدة البيانات.

هل كانت مفيدة؟

المحلول

هذا أمر واضح ومباشر.يمكنك استخدام معايير منفصلة. Genacodicetagpre

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