[英]How can I create multiple relationships to the same table in EF7(Core)?
我正在尝试构造一个迁移,但是它在下面的类中绊脚石:
public class Unit
{
public int UnitID { get; set; }
...
public Nullable<int> PreviousUnitID { get; set; }
[ForeignKey("PreviousUnitID")]
public Unit PreviousUnit { get; set; }
public Nullable<int> SubsequentUnitID { get; set; }
[ForeignKey("SubsequentUnitID")]
public Unit SubsequentUnit { get; set; }
}
无法将“导航属性”添加到实体类型“单元”,因为实体类型“单元”上已经存在具有相同名称的导航属性。
我认为这应该归咎于这种有点奇怪的导航,所以我省略了课程的其余部分。 有人知道我可以解决此问题的方法吗?
谢谢!
使用虚拟代替单位
public class Unit
{
public int UnitID { get; set; }
public Nullable<int> PreviousUnitID { get; set; }
public Nullable<int> SubsequentUnitID { get; set; }
public Virtual PreviousUnit { get; set; }
public Virtual SubsequentUnit { get; set; }
}
根据需要创建尽可能多的关系
使用虚拟关键字:
public virtual Unit PreviousUnit { get; set; }
public virtual Unit SubsequentUnit { get; set; }
完整的代码:
public class Unit
{
public int UnitID { get; set; }
...
public Nullable<int> PreviousUnitID { get; set; }
[ForeignKey("PreviousUnitID")]
public virtual Unit PreviousUnit { get; set; }
public Nullable<int> SubsequentUnitID { get; set; }
[ForeignKey("SubsequentUnitID")]
public virtual Unit SubsequentUnit { get; set; }
}
这也可以延迟加载单元。
编辑:也许这也可以帮助: https : //github.com/aspnet/EntityFramework/issues/3911
这是RC1的已知问题。
问题:
开发链: https : //github.com/aspnet/EntityFramework/pull/4239
Rowanmiller于1月8日评论
那将是#4069,它将在我们的每晚版本中固定,并将在RC2中发货。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.