0

我正在为我的课程开发一个项目,使用 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) 中选择所有,我可以根据其实际类型访问这些字段。

任何帮助将不胜感激。

4

0 回答 0