如何为一对一的反射关系ef核心建模。
我有这个模型,可以是相同类型模型的父模型或子模型。将其视为配偶关系。
一对一地在同一张桌子上。
我在考虑选项1:
int? parentId;
int? childId;
modelBuilder.Entity<ENTITY>()
.HasOne(o => o.Parent)
.WithOne(a => a.Child)
.HasForeignKey<Document>(o => o.parentId)
modelBuilder.Entity<ENTITY>()
.HasOne(o => o.Child)
.WithOne(a => a.Parent)
.HasForeignKey<ENTITY>(o => o.childId)
或选项2:
int? relationId
bool parent
modelBuilder.Entity<ENTITY>()
.HasOne(o => o.Relation)
.WithOne(a => a.Relation)
.HasForeignKey<ENTITY>(o => o.relationId)
答案 0 :(得分:1)
我认为2º选项是正确的。
modelBuilder.Entity<ENTITY>()
.HasOne<Relation>(e => e.Relation)
.WithOne(r => r.Entity)
.HasForeignKey<ENTITY>(r => r.relationId);
此链接可能有用。 https://www.entityframeworktutorial.net/efcore/configure-one-to-one-relationship-using-fluent-api-in-ef-core.aspx 希望对您有帮助!