具有多重抽象继承的实体框架 TPH
我正在尝试在实体框架(VS 2008 sp1,3.5)中创建一个表每个层次结构模型。
我的大多数模型都非常简单,是一个抽象类型,具有从中继承的多个子类型。
然而,我一直在努力应对这个最新的挑战。我有一些学生,我想从 PERSONS(抽象)继承,而这些学生应该从 PARTIES(抽象)继承。
每次执行此操作时,我都会收到“错误 2078:EntityType 'Model.PERSONS' 是抽象的,只能使用 IsTypeOf 进行映射”。我猜问题是 PARTIES 已经在实体集中定义为 IsTypeOf 。
那么这可能吗?我可以通过使 PERSONS Abstract = false 并分配虚假的条件映射来解决这个问题。但这似乎是一个愚蠢的解决方法。
I'm trying to do a Table Per Hierarchy model in Entity Framework(VS 2008 sp1, 3.5).
Most of my models have been very simple, an abstract type with multiple sub-types that inherit from it.
However, I've been struggling with this latest challenge. I have STUDENTS that I'd like to inherit from PERSONS(abstract) that should inherity from PARTIES(abstract).
Every time I do this I get a "Error 2078: The EntityType 'Model.PERSONS' is Abstract and can be mapped only using IsTypeOf." I guess the problem is PARTIES is already defined as IsTypeOf in the entity set.
So is this even possible? I can work around it by making PERSONS abstract = false and assigning a bogus conditional mapping. But this seems like a silly workaround.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
使用 XML 编辑器编辑模型:找到映射并将 IsTypeOf 添加到相应的 EntityTypeMapping 标记。
这是与您的情况类似的示例:
SQL Server DDL:
EDMX:
Edit the model using XML Editor: find the mapping and add IsTypeOf to the corresponding EntityTypeMapping tag.
Here is an example resembling your case:
SQL Server DDL:
EDMX: