سؤال

لدي رسم خرائط مع العديد من الطلبات. يحفظ التعيين بشكل صحيح كلا من الطلب وترتيبها إلى قاعدة البيانات عندما أقوم بحفظ النظام فقط، ولكن عندما أعيد تحميل هذا الطلب، فإن قائمة الطلبات التي يحتوي على النظام يحتوي على قيم فارغة (لجميع عناصر ترتيب OTHE الجدول) حتى يصل إلى ترتيب الطلب الذي يحتوي على المفتاح الخارجي للنظام. لذلك عدد إجمالي عدد عناصر النظام NULL هو عدد الصفات من جدول الطلبات الأولية، (SANS عناصر النظام الفعلية المرتبطة بالترتيب). إليك تعييناتي:

ترتيب:

<list name="OrderItems" table="OrderItems" cascade="all" inverse="true" >
  <key column="OrderID"/>
  <index column="OrderItemID" />
  <one-to-many class="OrderItem" not-found="ignore" />
</list>

قائمة الطلبات:

<many-to-one name="Order" class="Order" column="OrderID" not-null="true" />

هنا تنفيذ فئة الطلب:

public class Order : {
    private IList<OrderItem> orderItems = new List<OrderItem>();

قرأت أن Nhibernate لا يدعم قوائم كجزء كثير من العلاقة، ولكن يعمل حفظ بشكل صحيح، فقط لا الحمل. هل يجب علي تحويل كل شيء إلى مجموعات من أجل العمل؟

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

المحلول

فقط من أعلى رأسي أتذكر مشاكل مع

<list> 

وللتنت

<bag> 

بدلا من ذلك لتعيين واجهة .NET IList. لست متأكدا مما إذا كان ذلك سيحل مشكلتك.

ما قد يكون مفيدا هو إلقاء نظرة على كيفية تختلف SQL الفعلية التي تضرب قاعدة البيانات عن ما تتوقعه عن طريق تمكين التسجيل إلى Console.out (انظر هذا بلوق)

نصائح أخرى

أليس هذا قد تسبب لأن جمع الطلبات الخاصة بك هو كسول؟ إذا قمت بتحديد كسول = False في رسم الخرائط القائمة (أو الحقيبة)، فلا ينبغي أن يكون هذا هو الحال بعد الآن.

نفق السؤال هو، هل تريد كسول تحميل الطلبات، أم لا؟ :)

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