سؤال

ما أحتاج إلى القيام به هو الفئات الفرعية للسيارات لفئة صفحتي المجردة. أحتاج إلى العثور عليها في قائمة التجميعات التي أحصل عليها في وقت تشغيل (في مرحلة التهيئة). ليس لدي أي إشارة إلى التجميعات من تجميع تعييناتي.

يبدو صف صفحتي شيئًا من هذا القبيل:

public abstract class Page : EntityBase
{
    public virtual int Id { get; protected set; }
    public virtual Page Page { get; set; }
    //Other properties
}

يبدو أن تعييناتي هكذا:

var persistenceModel = new AutoPersistenceModel();
_assemblies.ForEach(x => persistenceModel.AddEntityAssembly(x));
persistenceModel.Setup(x =>
        {
            x.SubclassStrategy = y => SubclassStrategy.Subclass;
            x.DiscriminatorColumn = y => "Type";
        })
.IncludeBase(typeof(Page))
.OverrideAll(x => x.IgnoreProperties(y => typeof(Page)
.IsAssignableFrom(y.ReflectedType) && y.ReflectedType != typeof(Page)))
.Where(y => typeof(EntityBase).IsAssignableFrom(y));

_assemblies هي قائمة بالتجميعات للبحث عن كيانات قابلة للتطبيق. وهي تحتوي على تجميع فئة الصفحات الخاصة بي بالإضافة إلى مجموعة أو أكثر من التجميعات الأخرى التي لديها جميعها إشارة إلى التجميع الأساسي (واحد مع فئة الصفحات الخاصة بي).

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

"حاولت إضافة العديد من" صفحة "إلى واحد عند إضافتها بالفعل."

يجد الفصل ولكن لسبب ما يحاول تعيينه كصفحة أو شيء من هذا القبيل. لكن فئة الصفحة تم تعيينها بالفعل حتى أحصل على هذا الخطأ. هذا هو تخميني. هل يعرف أحد ما إذا كان بإمكاني العمل حول هذا بأي شكل من الأشكال؟ أو تعرف حل؟

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

المحلول

لقد وجدت هذه حلقة الوصل. يبدو أن هذا غير ممكن بعد.

تعديل

تم إصلاح هذا الآن مع الإصدار الأخير من Nhibernate بطلاقة.

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