【发布时间】:2020-06-18 09:17:49
【问题描述】:
我收到以下常见错误:
无法确定“Person.UserAccount”和“UserAccount.Person”之间的一对一关系的子/依赖方。要识别关系的子/依赖方,请配置外键属性。如果这些导航不应该是同一关系的一部分,请在不指定相反的情况下配置它们。详情请见http://go.microsoft.com/fwlink/?LinkId=724062。
在我的例子中,UserAccount 是 Person 的从属,它们具有一对零/一的关系,外键是字段 Id。我设置如下:
modelBuilder.Entity<Person>()
.HasOne(e => e.UserAccount)
.WithOne(e => e.Person)
.IsRequired()
.HasForeignKey<UserAccount>(e => e.Id);
我尝试了很多其他组合,通读文档和其他问题,但无论如何它都无法确定孩子/依赖方。
UserAccount 类:
[Table("UserAccount")]
public class UserAccount : EntityBase
{
public int Id { get; set; }
public Person Person { get; set; }
}
人物类:
[Table("PERSON")]
public partial class Person : EntityBase
{
public Guid Id { get; set; }
[Key]
public int PersonId { get; set; }
public UserAccount UserAccount { get; set; }
}
发生了什么事?我错过了什么?
【问题讨论】:
-
你能显示你的类(Person 和 UserAccount)代码吗?
-
你去@charbel,我已经删除了与问题无关的数据。如果有什么遗漏请告诉我
标签: c# entity-framework-core foreign-keys relationship