部分加载POCO

时间:2011-08-09 15:15:27

标签: .net entity-framework ef-code-first code-first

我有一个包含这些列的表

Id as integer
Name as string
Image as byte()
然后我做了两个POCO

Public Class TableBase
     Id as Integer
     Name as String
End Class

Public Class Table
    Inherts TableBase
    Image as byte()
End Class.

因为我并不总是需要加载图像。 问题是我收到了歧视错误,TPH的解决方案没有解决它。因为我无法在数据库表中添加歧视列。

   ...
    modelBuilder.Entity<Table>()
    .Map(mc => mc.Requires("TableType").HasValue("Base"))
   ...

实际上我没有层次结构问题;我只需要部分加载POCO

问候!

1 个答案:

答案 0 :(得分:0)

您不需要TPH,因为在数据库中的TPH记录只能由一种实体类型表示 - 这意味着它将是TableBaseTable,但绝不会同时表示。

您需要table splitting