gpt4 book ai didi

entity-framework - 为什么 Entity Framework 将实体生成为部分类?

转载 作者:行者123 更新时间:2023-11-30 23:48:09 25 4
gpt4 key购买 nike

我使用过的其他 ORM,例如 Torque、Propel 或 Doctrine,为每个实体生成 2 个类:例如 BaseCustomer 和 Customer。 Customer 继承自 BaseCustomer,您可以覆盖方法或添加自己的方法。

但是 Entity Framework 会生成部分类。您可以添加方法,但不能覆盖它们(构造函数或访问器方法)。

这是为什么?

我想代码生成器更容易使用部分类,并且它可以防止开发人员弄乱更改跟踪代码,但是......

这不是 EF 的缺点,因为它限制了开发人员的自由吗?

最佳答案

EF 的默认代码生成是原样的。您不能修改直接行为。您只能在部分类中添加自己的行为。构造函数没有问题,因为我知道 EF 不会为实体创建构造函数——它使用默认的构造函数。

在 EF 4 中,这一切发生了很大变化。您可以关闭默认实体生成器并改用 T4 模板。 T4 模板只是另一个脚本文件,您可以修改和添加您需要的任何更改。

如果您想更好地解释为什么这样做,您应该询问 ADO.NET 团队,但通常部分类是处理整个 .NET 框架中生成的代码的常用方法,因此他们可能会保留它以保持一致性。

关于entity-framework - 为什么 Entity Framework 将实体生成为部分类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6363264/

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