我尝试将类的层次结构映射到特定的表但不能。 这是我用作解释的来源: http://weblogs.asp.net/manavi/archive/2010/12/24/inheritance-mapping-strategies-with-entity-framework-code-first-ctp5-part-1-table-per-hierarchy-tph.aspx
在可能的情况下,我有用户表:
ID | Name | Company | Discriminator
两个模型 - 用户具有属性:
ID | Name
Corporates 实体,它只使用一个属性继承Users实体:
Company
我手工创建了字段“Discriminator”,现在需要了解当我使用多态查询时如何检查字段“公司”?例如。我需要从数据库得到一些行,并检查是否有公司字段设置或不...我就应该总是将所有的数据到特定的实体(例如公司债券),以检查该字段是否存在?
OR
我认为EF可以在定义类似规则时自动选择相关实体:
modelBuilder.Entity<Users>()
.Map<Corporates>(m => m.Requires("Discriminator")
.HasValue("Corporates"))
但问题是每当我尝试将任何映射规则添加到OnModelCreating时,我总是在第一次创建模型时出错。 有人能告诉我我做错了什么吗?
提前致谢,艺术