小编sgr*_*979的帖子

每个层次结构组的实体框架4.2表由鉴别器组成

我正在使用EF 4.2代码优先模型开发项目.此模型包含产品的TPH继承结构.我需要在鉴别器上对这个继承模型的多态结果进行分组,并遇到一些问题.

实体框架不会公开鉴别器以完成此分组.我的第一个问题是我可以直接访问这个鉴别器吗?我的阅读和经验告诉我没有,所以我提出了这种解决方案.它表现不佳,我不满意如何维护它.

我的类看起来像这样(简化):

Public MustInherit Class Product
      <key()>  
      Public Property ProductID as integer

      <StringLength(50, ErrorMessage:="Max 50 characters")>
      <Required(ErrorMessage:="Product name is required")>
      Public Property Name as String

      <TimeStamp()>
      Public Property Time_Stamp as DateTime = DateTime.Now()
End Class

Public Class Desktop
      Inherits Product

      <StringLength(50, ErrorMessage:="Max 50 characters")>
      <Required(ErrorMessage:="Processor is required")>
      Public Property Processor as String
End Class

Public Class Monitor
      Inherits Product

      <Required(ErrorMessage:="Monitor size is required")>
      Public Property Size_Inches as Integer
End Class
Run Code Online (Sandbox Code Playgroud)

我构建了一个扩展方法,它接受一个产品并将其基类型名称作为字符串返回.

<Extension()>
Public Function ProductType(ByVal inProduct as Product) …
Run Code Online (Sandbox Code Playgroud)

vb.net group-by table-per-hierarchy ef-code-first discriminator

5
推荐指数
1
解决办法
683
查看次数