实体FW TablePerHierarchy的映射

时间:2011-11-15 22:44:59

标签: c# asp.net-mvc-3 tsql entity-framework

我尝试将类的层次结构映射到特定的表但不能。 这是我用作解释的来源: 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时,我总是在第一次创建模型时出错。 有人能告诉我我做错了什么吗?

提前致谢,艺术

0 个答案:

没有答案