我正在尝试将其转换为DataAnnotations
HasOptional(x => x.ParentEntity)
.WithMany(parentEntity => parentEntity.childrenEntities)
.HasForeignKey(childrenEntity => childrenEntity.ParentEntityId)
.WillCascadeOnDelete(false);
这是我的问题,我有一个引用自己的实体。
public class Product
{
[Key]
public int ProductId {get; set;}
public int? ProductParentId {get; set;}
[ForeignKey("ProductParentId")]
[InverseProperty("childrenProducts")]
public virtual Product ParentProduct { get; set; }
[ForeignKey("ProductParentId")]
public virtual List<Products> childrenProducts{ get; set; }
}
但是我不断收到错误消息,指出已使用InversePropertyAttribute和ForeignKeyAttribute指定了无效关系,并且值不同。
这是我的桌子:
产品表
ProductId ProductName ProductParentId
1 Test Null
2 Test 1 1
3 Test 2 1
我期望得到产品及其孩子,有没有办法实现?
先谢谢您。
答案 0 :(得分:0)
外键不属于列表。改用InverseProperty
[InverseProperty("ParentProduct")]
public virtual List<Products> childrenProducts{ get; set; }