2010-01-13 55 views

回答

6

你似乎在同一时间提出两个问题。仅限代码与模型优先,以及父类型与任意父类型相比较。无论父类型如何,您都可以使用模型优先获得设计师支持。除了设计器支持,您还可以使用预先编译的视图和模型优先。这可以显着帮助性能。

EntityObject作为父项可能比所谓的“POCO”(通常是代理基础,而不是“普通”对象)更具优势,因为实体的运行时类型与您期望的确切类型相比运行时生成的子类型。

另外,不像其他ORMs那样LINQ支持最少,实体框架具有丰富的LINQ支持,允许您将project转换为实际 POCO类型。因此,无需关心实体的基本类型,就可以构建真正的持久性无关的演示文稿。你不会被任何类型的ORM黑盒子所困扰。

EntityObject允许持久保存到数据库的私有属性。使用代理类型要求这些属性至少受到保护,并且必须是虚拟的。因此,EntityObject可能允许更好的封装。

顺便说一下,我并不是在建议使用代理服务器没有优势;我只是试图回答你关于EntityObject的优点是什么的问题。

0

我认为唯一的好处是设计师的支持。在使用非poco实体时找不到任何其他好处。

+0

好点。我想,如果创建了模板,Microsoft可以添加修改设计器中的POCO实体的功能。 – senfo 2010-01-13 12:53:55