أحمق بطلاقة: أدخل خطأ عند حفظ كيان جديد مع كيان الطفل
-
19-09-2019 - |
سؤال
أحاول حفظ كيان جديد "مشاركة" مع عنصر واحد تمت إضافته إلى قائمة "المراجعات".
أ Post
يمكن أن يكون الكثير PostRevisions
, و PostRevision
يمكن أن يكون فقط واحدة Post
.
لقد جربت عدة طرق لرسم خرائط الاتفاقية، فإن postrevisionmap كما يلي:
public PostRevisionMap()
{
Id(x => x.PostRevisionId, "PostRevisionId");
Map(x => x.Created, "CreateDateTime").Not.Nullable();
/// SOME OTHER STUFF HERE
References(x => x.Post, "PostId"); // OPTION 1
References(x => x.Post,"PostId").ForeignKey("PostId").PropertyRef(d => d.PostId); // OPTION 2
HasOne<Post>(x => x.Post).ForeignKey("PostId").Cascade.All().PropertyRef(x => x.PostId); // OPTION 3
}
عند الاتصال Savorupate أحصل على أخطاء مختلفة
الخيار 1 و 3 السبب
The INSERT statement conflicted with the FOREIGN KEY constraint "PostId".
الخيار 2 الأسباب
NHibernate.HibernateException : Unable to resolve property: PostId
بلدي postmap هو كما يلي:
public PostMap()
{
Id(x => x.PostId).Column("PostId");
HasMany(x => x.Revisions)
.Cascade.All()
.Table("PostRevisions")
.KeyColumn("PostId")
.ForeignKeyConstraintName("FK_PostRevision_Post");
/// OTHER STUFF
}
هل يمكن لأي شخص أن يوجهني في الاتجاه الصحيح لأنني لا أستطيع تحديد المشكلة. تيا
المحلول
جرب هذا:
paesmap.
HasMany(x => x.Revisions)
.Inverse()
.Cascade.All();
postrevisionmap:
References(x => x.Post);
لا تنتمي إلى StackOverflow