2011-05-19 61 views
1

想象一下,我有用户ID(其实我们也有大约四列像用户id,ADDDATE,创建ModDate等几乎所有表)柱子上几乎所有的实体。如何定义的实体框架所有实体共同财产(IES)

我怎么能做出这样的列(县)可在一个单独的实体(比如父实体),使所有其他实体(子实体)从它继承?

回答

0

如果您正在使用生成的实体类(POCO或EntityObject),您将不得不在您的模型中定义基本抽象实体(EDMX)并在TPC继承中派生其他实体 - 根本不这样做,因为它会引入许多其他问题 - 例如,你将访问从基类型的单ObjectSet的所有实体,PK将不得不所有的实体中是唯一的,等

另一种方法是要么使用自定义的POCO类(不产生)或自定义T4模板创建通用对象继承,但仍然使用设计器中的普通实体而不继承。我认为这是不可能的,但前几天我用简单的例子测试它和它的工作 - 但我还是有点怀疑这种办法。

+0

我不知道像所有实体之间的共享功能(如:CreatedDate,UpdatedDate等)这样一个重要的东西需要这么多的解决方法,增加了混乱的可能性。虽然以我的经验,这在CodeFirst中很容易实现! – Daniel 2014-06-10 03:06:50

2

尝试使用类似于hereheremodify the template的T4模板来包含具有这些属性的基类(从EntityObject继承),并从此基类继承每个类。