كيفية تشغيل الاستعلام nhibernate icriteria مع setFetchMode (كسول) عندما lazy = false محددة في HBM؟
-
26-09-2019 - |
سؤال
أرغب في تشغيل استعلام معايير مع جمعيات كسول كثيرة إلى واحدة. تم تعيين تلك الجمعيات على أنها 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 ٪ من الوقت)
سيكون عليك تغيير التعليمات البرمجية الخاصة بك.
لا تنتمي إلى StackOverflow