NHibernate مع تعيين بطلاقة وSyscache2 الثاني التخزين المؤقت مستوى

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

سؤال

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

وكيف لي أن تحقيق ذلك؟ I ديللينكوفر أن طريقة يجيد قراءة فقط () ستطبق هذا، ولكن هذا ليس هو الحال.

وعينة رسم الخرائط يجيد:

        Id(x => x.Id);
        Map(x => x.Name).WithLengthOf(50).Not.Nullable().Unique();
        Map(x => x.IsoCode).WithLengthOf(10).Not.Nullable().Unique();
        HasMany(x => x.States).Cascade.None().LazyLoad();          
        Cache.AsReadOnly();

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

وشكرا!

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

المحلول

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

ومع NHib فمن الممكن لتحديد "قابلة للتغيير = كاذبة" على رسم الخرائط صفك (غير متأكد من كيفية القيام بذلك مع FNH، آسف). هذا لا يجعل غير قابل للتغيير الكائن في وقت التشغيل، لكنه إبلاغ NHib لا للتحقق من إدراج والتحديثات وحذف ضد هذه الكيانات.

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