gpt4 book ai didi

entity-framework - Entity Framework POCO

转载 作者:行者123 更新时间:2023-12-04 20:59:17 33 4
gpt4 key购买 nike

在 Entity Framework 4.0 中使用 T4 模板创建 POCO 会丢失什么?为什么使用 Entity Framework 4.0 时的默认行为不创建 POCO?

最佳答案

你会失去很多东西。 “纯” POCO 在 ORM 中的用途有限,因为它不会进行更改跟踪。换句话说,当您改变对象然后将更改保存到上下文时,您希望将更改的属性保存到数据库中。使用“纯” POCO,您可以使用基于快照的更改跟踪来执行此操作,但效率相当低。您也可以使用运行时代理来实现,这会强制您设置轨道属性 public virtual ,所以你可以说不再有“POCO”了。此外,使用代理意味着您不知道实例的真实运行时类型。

你也失去了一些便利的属性,比如 EntityState .

“纯” POCO 不能进行延迟加载。同样,您可以使用代理类型来解决这个问题,但是,同样,如果您使用代理,您就没有真正的“纯”POCO。

最重要的是,与其他一些 ORM 相比,在 Entity Framework 中使用 POCO 实体的需要更少。这是因为您始终可以使用 LINQ 将实体类型投影到 POCO 实例上,而无需先实现实体实例。因此,“纯” POCO 在 Entity Framework 应用程序中始终可用,即使您没有以这种方式映射实体。

关于entity-framework - Entity Framework POCO,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2587280/

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