我正在为我的课程开发一个项目,使用 Code First Entity Framework (Core),实现 TPH 结构以进行继承。
public abstract class Product
{
[Key]
public int ProductId { get; set; }
public string ProductName { get; set; }
public ProductTypes ProductType { get; set; } //Discriminator (enum)
}
public abstract class Prd_1 : Product
{
Public enum SomeEnum { get; set; }
Public double Price { get; set; }
}
public abstract class Prd_2 : Product
{
Public enum SomeEnum { get; set; }
Public int Quantity { get; set; }
}
public abstract class Prd_3 : Product
{
Public string Description { get; set; }
}
使用 DbContext 我只想从表 Products 中选择带有枚举字段的记录,但是在尝试时,我只能看到抽象的 Product 字段。如果我为列表中的每个产品实体从产品 (DbContext.Products) 中选择所有,我可以根据其实际类型访问这些字段。
任何帮助将不胜感激。