【发布时间】:2010-09-29 16:23:21
【问题描述】:
我看到这里有一个类似的问题,但我认为它不是很清楚,所以我正在创建另一个:Entity Framework: Inheritance, change object type
我有一个继承自实体 Person 的实体 Student。
在某些时候,人可能会成为学生。
Entity Framework 4 中是否有任何方法可以在不使用存储过程或创建新实体的情况下处理此问题。
【问题讨论】:
-
这是一个损坏的对象模型。在 OOP 中,实例不能更改类型。 EF 不会将此功能添加到 C#/.NET。为此,您应该使用组合,而不是继承。
-
我的印象是学生是否是一个人或学生是否有一个人。也许您可以指向我定义它的链接?
-
一个对象只能有一种类型。所以你不能创建一个
RedDog类型并且也有一个BigDog类型,因为Dog可以是大的 和 红色(Clifford)。我在这里写过这个问题:blogs.teamb.com/craigstuntz/2008/07/17/37825 -
我看到这是一篇基于 EF4 的旧帖子。 Entity (EF6) 的最新版本中是否还存在此限制?
标签: entity-framework entity-framework-4