为什么实体框架实体是分部类?

Ale*_*ope 10 .net c# entity-framework

我最近开始使用实体框架,我注意到生成的实体是部分类.有什么用途?我google了一下,人们大多说的是验证,但我也可以在生成的实体上添加验证.

Bra*_*NET 19

出于同样的原因,partial类通常存在,代码生成.

生成代码时; 你不希望你的其他方法/属性/被吹走,所以设计师标记这些类partial以允许用户将其他代码放在不同的文件中.

在Code-First中,EF的代码生成方面已经基本上已经过时,因此创建的任何EF模型类都不需要partial.


das*_*ght 13

partial 被添加到生成的实体以进行自定义.

在您希望将自己的方法添加到由代码生成器(包括EF)生成的类的情况下,最好将实现放在单独的文件中,这样您就不会冒每次丢失自定义的风险.代码重新生成.

如果没有partial希望定制类的开发人员必须使用解决方法,例如应用Generation Gap设计模式.