سؤال

ودعونا نقول لدي جدول الطلب، التي تبدو كما يلي:

RequestId INT  
ReferenceNumber VARCHAR

ويتم تسجيل كل طلب في جدول requestlog. لا توجد مفاتيح خارجية بين الجداول:

RequestLogId INT  
ReferenceNumber VARCHAR  
Content VARCHAR  

ووrequestlog يحتوي على مضمون الطلب، ويحتاج هذا المحتوى ليتم تخزينها لفترة من الزمن. يمكن حذف الطلب، ولكن لا يمكن إلا أن يتم حذف السجل بعد فترة من الزمن.

وكيف يمكنني خريطة بلدي وجوه الطلب بحيث يمكن أن تحتوي على قائمة requestlogs، استنادا إلى referencenumber؟

وحاولت هذه:

Table("InsuranceRequest");  
Id(i => i.Id).Column("InsuranceRequestId");  
Map(i => i.ReferenceNumber);  
HasMany(i => i.InsuranceRequestLog).KeyColumn("RefenceNumber").LazyLoad.Cascade.None();

وأنها لا تعمل على الرغم من. يحاول هذا التعيين لتعيين referencenumber إلى RequestLogId من requestlog. هل هناك طريقة لتحديد أن العمود الانضمام يجب أن يكون referencenumber insurancerequestlog؟

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

المحلول

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

وطرف آخر لأجلك: اتخاذ ديسيبل فارغة ومحاولة فضح المخطط .. من يكون ش سوف قادرا على رؤية ما يفكر nhibernate الهيكل يجب أن تبدو

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