实体类中的自引用 DataAnnotations core 2.0

我正在尝试将其转换为 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

我期待的是得到产品和他们的孩子,有没有办法做到这一点?


先感谢您。


绝地无双
浏览 190回答 1
1回答

Helenr

外键不属于列表。改用 InverseProperty[InverseProperty("ParentProduct")]public virtual List<Products> childrenProducts{ get; set; }
打开App,查看更多内容
随时随地看视频慕课网APP