C#实体框架代码首先与类中的同一类建立关系
本文关键字:关系 建立 一类 框架 实体 代码 | 更新日期: 2023-09-27 18:22:35
我一直在寻找与我相似的问题,但我还没有找到答案。
我试图将一个person类与另外两种类型的"person"(显著其他和匹配)联系起来,但我得到了以下错误:
Unable to determine the principal end of an association between the types 'Namespace.Models.Person' and 'Namespace.Models.Person'.
这是我的课:
public class Person
{
public Person()
{
}
public int Id { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public Person SignificantOther { get; set; }
public Person Match { get; set; }
}
我尝试使用外键数据注释,但没有成功(也许我做错了)。我觉得有一个简单的方法,我只是忽略了。有什么想法吗?
我首先使用代码和LocalDb。
我必须使用Fluent API,并添加一个可选的重要的其他,以及匹配,具有可选的主体。
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<Person>().HasOptional(p1 => p1.SignificantOther).WithOptionalPrincipal();
modelBuilder.Entity<Person>().HasOptional(m => m.Match).WithOptionalPrincipal();
}
感谢CodeCaster为我指明了正确的方向!