كيفية تشغيل الاستعلام nhibernate icriteria مع setFetchMode (كسول) عندما lazy = false محددة في HBM؟

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

سؤال

أرغب في تشغيل استعلام معايير مع جمعيات كسول كثيرة إلى واحدة. تم تعيين تلك الجمعيات على أنها lazy="false" في HBM. ذلك لأننا نستخدمه بفارغ الصبر من المشروع.

ولكن هناك بعض الاستعلامات "الكبيرة" التي يجب أن تعمل lazy="proxy".

HBM:

<many-to-one name="DestinationElement" class="X" column="DstElemId" not-null="true" unique="false" cascade="save-update" outer-join="auto" fetch="select" lazy="false" index="IDX_Ass_DestElem">

إعداد المعايير:

criteria.SetFetchMode("DestinationElement", FetchMode.Lazy);

إنه يعمل في الاتجاه المعاكس ، ولكن ليس بهذه الطريقة. يجلب بفارغ الصبر.

LOC هو 20K+، وسيكون إعادة صياغة ضخمة للقيام بذلك في الاتجاه المعاكس.

كيف يمكنني إجبار هذا على الجلب بتكاسل فقط عندما أريد ، وجلبها بفارغ الصبر في كل أوقات أخرى؟

شكرا مقدما!

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

المحلول

lazy="false" في HBM لا يمكن تجاوزه في استعلام (إلى جانب كونه فكرة سيئة 99 ٪ من الوقت)

سيكون عليك تغيير التعليمات البرمجية الخاصة بك.

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