gpt4 book ai didi

entity-framework - Entity Framework 4.0 : Why Would One Use the Code Generated EntityObjects Over POCO Objects?

转载 作者:行者123 更新时间:2023-12-04 07:26:46 25 4
gpt4 key购买 nike

除了更快的开发时间(据我所知,Visual Studio 2010 beta 2 没有用于构建 POCO 实体对象的 T4 模板),默认情况下,使用 Entity Framework 创建的传统 EntityObject 实体有什么优势吗?如果 Microsoft 提供了用于构建 POCO 对象的 T4 模板,我试图弄清楚为什么有人会想要使用传统方法。

最佳答案

你似乎同时问了两个问题。纯代码与模型优先和 EntityObject父类型与任意父类型。无论父类型如何,您都可以通过模型优先获得设计师支持。除了设计器支持之外,您还可以使用模型优先的预编译 View 。这可以显着提高性能。

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

此外,与其他 ORM 几乎没有 LINQ 支持不同,Entity Framework 具有丰富的 LINQ 支持,允许您 project到真正的 POCO 类型上。因此,无需关心实体的基本类型是什么,就可以构建真正的持久性无知的演示文稿。您不会被 ORM 黑盒中的任何类型所困扰。
EntityObject允许保留到数据库的私有(private)属性。使用代理类型要求这些属性至少受到保护并且必须是虚拟的。因此,EntityObject可能允许更好的封装。

顺便说一句,我并不是要暗示使用代理没有好处。我只是想回答你关于 EntityObject 的优点的问题。是。

关于entity-framework - Entity Framework 4.0 : Why Would One Use the Code Generated EntityObjects Over POCO Objects?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2056453/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com