2012-01-31 32 views
1

我有3个表 1.实体 2.凭证 3.的EntityType应该是什么在实体框架(EDMX)列出的表的映射

实体可以是实验室,基于的EntityType值Client或技术员可以是(1,2,3)。 只有技术员即3才能拥有凭证。

我应该做些什么改变才能进入所需的设计。

enter image description here

我收到以下错误。

错误1错误3032:问题在映射片段起始于线 149:条件构件“Entity.EntityType”与被映射比 以外的条件“ISNULL =假”。删除 Entity.EntityType的条件或从映射中删除它。 C:\文件和设置 \管理员\我的文档\ Visual Studio的 2010 \项目\ LimsEdm \ LimsEdmx \ LimsModel.edmx 150 15 LimsEdmx

回答

8

如果使用EntityType列TPH辨别器不能映射其桌子。它已用于继承映射,列不能映射两次。从您的EntityType实体中删除EntityType财产。

+0

感谢您的回答。这是否意味着EntityType的数据库中不应该有表格,而应该有(1,2,3)的Check约束。如果我想保持EntityType动态,该怎么办?是否应该有另一个实体,即其他用户没有限制价值? – 2012-02-01 09:48:53

+0

您需要“EntityType”表,并且您需要该列,但不能将列映射到属性。你也不能有这种动态的行为。继承映射是静态的,因为鉴别器中的每个新值都需要新的映射类。 – 2012-02-01 09:58:41