我想知道是否有办法在同一个类上实现相同实体的相关列表,或者使用迁移来设置具有此属性的模型?
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'属性 'FamilyMembers'类型'ConsoleApplication3.Person'。检查值 在InversePropertyAttribute中确保关系定义 是唯一的,从一个导航属性引用到它 相应的逆导航属性。
在运行测试应用程序时,我也会在人员数据库集中添加人员相同的错误。
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);
是否有另一个属性不唯一且引用相同的导航属性?
答案 0 :(得分:0)
简单的答案是否定的。关系的每一端都必须有自己的导航属性。