我开始使用ADO.NET实体模型,并且我的所有对象都共享一些常用字段,例如FileAs
(主键),SourceURL
,Name
和Description
。除了这些领域,它们都非常不同。起初,我使用包含上述字段的抽象Reference
类来实现它们,并让所有其他对象继承它们。然而,这迫使我我这样的查询我的对象的每一位:ADO.NET实体框架可以提供子类的集合而不是父类吗?
foreach (MyObject obj in context.References.Where(o=>o is MyObject)) { ... }
我不想通过我Reference
s到找到所有的MyObjects
的每一个进行搜索,并想办法简单地致电foreach (var obj in context.MyObjects) { ... }
。
我可以只添加共享属性,每个MyObject
类的,但随后FileAs
不会是所有MyObject1
S和MyObject2
S之间唯一的。我可以做0..1
至1
关系Reference
和所有MyObject
s,但这会让一个Reference
适用于几个不同类型的不同MyObject
s。
你如何生成你的实体?你在使用POCO T4模板吗? – 2011-05-30 22:02:50
我在项目中添加了一个ADO.NET实体数据模型(.edmx)文件,并在其设计器中添加和编辑实体。它连接到本地数据库(.sdf)。我不确定T4模板是什么,对不起。 – dlras2 2011-05-30 22:05:53