「リビジョン」リストに 1 つの項目を追加して、新しいエンティティ「投稿」を保存しようとしています。
APost
は複数の を持つことができPostRevisions
、 aPostRevision
は 1 つのみを持つことができますPost
。
PostRevisions をマッピングするいくつかの方法を試しました。私の 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
}
SaveOrUpate を呼び出すと、別のエラーが発生します
オプション 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
}
問題を見つけることができないので、誰かが私を正しい方向に向けることができますか? ティア