我最近开始使用实体框架,我注意到生成的实体是部分类。这有什么用呢?我在 Google 上搜索了一下,人们大多谈论的是验证,但我可以补充一下
我最近开始使用实体框架,我注意到生成的实体是部分类。这有什么用呢?我在 Google 上搜索了一下,人们大多谈论验证,但我也可以对生成的实体添加验证。
partial 被添加到生成的实体中以供定制。
partial
当您希望将自己的方法添加到代码生成器(包括 EF)生成的类中时,最好将您的实现放在单独的文件中,这样您就不会冒每次重新生成代码时丢失自定义的风险。
不 partial 希望定制该类,则必须使用变通技术,例如应用 Generation Gap 设计模式。
类通常 partial 出于同样的原因
当生成代码时;您不希望您的附加方法/属性/任何内容被吹走,因此设计人员标记这样的类 partial 以允许用户将附加代码放在不同的文件中。
在 Code-First 中,EF 的代码生成方面已基本过时,因此 您 创建的任何 EF 模型类都不需要 partial .
当 EF 没有代码优先模型生成时,能够创建另一个具有相同名称的部分类并具有 [NotMapped] 属性并且不会因为数据库更新更改而被吹走,从而导致您的类被更新并吹走您的更改,这是很好的。