كيفية إخبار Nhibernate بخريطة علاقة واحدة إلى العديد من العلاقات وليس iList ؟

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

  •  23-08-2019
  •  | 
  •  

سؤال

هل يمكنني إخبار أحمق بطريقة أو بأخرى تعيين علاقاتي واحدة إلى العديد من الممتلكات التي هي من قائمة النوع بدلا من الواجهة Ilist؟

أعلم أن Lhibernate يستخدم تطبيقه Ilist-Loading الخاص به، لكنني لا أحتاج إلى هذه الميزة. بدلا من ذلك، أحتاج إلى فئة غير قابلة للتسلسل، والتي لا يمكنني تحقيقها باستخدام الواجهة Ilist بدلا من فئة قائمة الخرسانة.

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

المحلول

الجواب البسيط هو لا، لا يمكنك معرفة أحمق للاستخدام List<T>. وبعد هذه سؤال سابق يناقشها بمزيد من التفاصيل.

ال أفضل المادة يمكنني أن أجد على مسلسل كائنات أحذية مستهدفة لمستخدمي WCF.

نصائح أخرى

إذا كنت بحاجة فعلا إلى القيام بذلك الخيار الحقيقي الوحيد هو تغيير استراتيجية التسلسل الخاصة بك.

يمكنك استخدام سمة DataContract في System.Runtime.Serialization بدلا من سمة التسلسل القياسية. هذا سيدعم تسلسل الواجهات.

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

//NHibernate property
public virtual IList<Entity> Entities
{
    get;
    set;
}

//Serialized property
public List<Entity> SerializedEntities
{
    get;
    set;
}

[OnSerializing]
void DoStuff(StreamingContext context)
{
    SerializedEntities = // Whatever you want to serialize...
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top