我有一个像[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可用于进一步处理,但始终为空。
我做错了什么还是无法解决?
谢谢!