我想知道是否有办法在同一类上实现同一实体的相关列表,或者使用迁移来设置具有此属性的模型?
public class Person
{
[Key]
public Guid Id { get; set; }
public string Name { get; set; }
[InverseProperty("FamilyMembers")]
public List<Person> FamilyMembers { get; set; }
}
在我使用迁移(AddMigration)设置数据库的那一刻,我得到以下异常:
添加迁移:无法从“ConsoleApplication3.Person”类型的属性“FamilyMembers”与“ConsoleApplication3.Person”类型的属性“FamilyMembers”建立关系。检查 InversePropertyAttribute 中的值以确保关系定义是唯一的,并从一个导航属性引用到其对应的反向导航属性。
此外,在运行测试应用程序时,将 Person's 添加到 People dbset 时出现相同的错误。
var p1 = new Person();
p1.Id = Guid.NewGuid();
p1.Name = "p1";
var p2 = new Person();
p2.Id = Guid.NewGuid();
p2.Name = "p2";
var c = new TestContext();
c.People.Add(p1);
是否存在另一个不唯一的属性并引用相同的导航属性?