EF核心使用。在同一表中包含父子关系

时间:2019-10-23 09:54:41

标签: c# .net-core ef-code-first asp.net-core-2.0 ef-core-2.0

我有一个像[dbo].[Product]的桌子

ProductID | Description | OtherProductVariantID

其中OtherProductVariantID同一表和相应产品实体

ProductID
public class Product
{
        public int ProductID {get; set;}
        public string Description{get; set;}

        public int? OtherProductVariantID {get; set;}
        public virtual Product VariantProduct {get; set;}
        public virtual ICollection<Product> VariantProducts { get; set; }
}

它通过Fluent-API进行如下配置:

modelBuilder.Entity<Product>(entity =>
{
        entity.HasOne(d => d.VariantProduct)
                .WithMany(p => p.VariantProducts)
                .HasForeignKey(d => d.OtherProductVariant)
                .HasConstraintName("FK_Product_OtherProductVariant");
});

[以人类语言]

我想要的是使用加载产品实体

var product = Context.Product
        .Include(p => p.VariantProduct)
        .FirstOrDefault(p => p.ProductID == 12345);

以便我的VariantProduct可用于进一步处理,但始终为空。

我做错了什么还是无法解决?

谢谢!

0 个答案:

没有答案