.net 实体框架4-继承
我试图理解EF4中的继承映射 我的数据库有两个具有以下结构的表: 个人分类表:.net 实体框架4-继承,.net,inheritance,entity-framework-4,hierarchy,table-per-hierarchy,.net,Inheritance,Entity Framework 4,Hierarchy,Table Per Hierarchy,我试图理解EF4中的继承映射 我的数据库有两个具有以下结构的表: 个人分类表: 类别ID(内部)(标识)(主键) 类别类型(nvarchar(50)) 人员表 个人识别码(内部)(身份)(主键) CategoryID(来自PersonCategory表的FK) 姓名(nvarchar(50)) 说明(nvarchar(最大值)) PersonCategory表有四个条目,每个条目代表一个类别-学生、课程讲师、教职员工和导师 通过在线阅读,我认为每个层次的表将是适合这种情况的模型。所以在E
- 类别ID(内部)(标识)(主键)
- 类别类型(nvarchar(50))
- 个人识别码(内部)(身份)(主键)
- CategoryID(来自PersonCategory表的FK)
- 姓名(nvarchar(50))
- 说明(nvarchar(最大值))
每个层次结构的表是否适合此场景?如果没有,那么我应该如何在EF4中处理这个场景?在关联中使用鉴别器列是有问题的。见:-
“关键点是充当鉴别器的列不能映射到关联,除非它在非空条件下参与。”我认为您真正想要的是每种类型的表
对于每个层次结构的表,单个表包含所有类型的所有列。你有两张桌子,所以我马上怀疑 如果选择每种类型的表,那么它也不正确。在PersonCategory表为派生类型的属性值提供数据的情况下,只能有两种类型:base和derived。但是,这需要将PersonID作为外键,而不是 就个人而言,我认为你不必要地将你的实体分割成不同的类型。您可以将两个表中的所有列映射到一个实体,或者如果可能,更改数据库模式以更好地满足您的需要 我建议使用一个空的测试数据库,首先进行TPT和TPH模型设计,然后查看EF为所需设置构建的模式
卢克谢谢你的指点。我理解所解释的要点。我是否应该将其解释为EF4无法处理这种情况?因为在应用程序的实体模型中,我希望两个表都具有关联。我将如何处理这种情况?