想象一下,对于几乎所有实体,我都有UserId(实际上我们几乎所有表都有大约四列,如userId,adddate,moddate等)。
如何让这样的列在一个单独的实体(比如父实体)中可用,并让所有其他实体(子实体)继承它?
答案 0 :(得分:2)
尝试使用T4模板,如here或here,modify the template所示,以包含具有这些属性的基类(继承自EntityObject),并从此基类继承每个类。
答案 1 :(得分:0)
如果您正在使用生成的实体类(POCO或EntityObject
),则必须在模型中定义基本抽象实体(EDMX)并在TPC继承中派生其他实体 - 只是不这样做,因为它将引入许多其他问题 - 例如,您将从基本类型的单ObjectSet
访问所有实体,PK必须在您的所有实体中是唯一的等等。
另一种方法是使用自定义POCO类(未生成)或自定义T4模板来创建公共对象继承,但仍然使用设计器中的普通实体而不继承。我认为这是不可能的,但是几天前我用简单的例子测试了它并且它起作用了 - 但是我仍然对这种方法有点怀疑。