我最近开始使用实体框架,我注意到生成的实体是部分类。 有什么用途?我google了一下,人们大多说的是验证,但我也可以在生成的实体上添加验证。
答案 0 :(得分:17)
出于同样的原因,a
类通常存在,代码生成。
生成代码时;你不希望你的其他方法/属性/被吹走,所以设计师标记这些类partial
以允许用户将其他代码放在不同的文件中。
在Code-First中,EF的代码生成方面已经基本上已经过时,因此您创建的任何EF模型类都不需要partial
。
答案 1 :(得分:12)
partial
被添加到生成的实体中以进行自定义。
如果您希望将自己的方法添加到由代码生成器(包括EF)生成的类中,最好将实现放在单独的文件中,这样您就不会冒失败的风险每次重新生成代码时都会进行自定义。
如果没有partial
开发人员希望自定义类,则必须使用解决方法,例如应用Generation Gap设计模式。
答案 2 :(得分:-2)
将其标记为部分允许您将属性放入该类。
例如,当您需要将DB生成的类标记为Serializable
以便能够将其存储在Session对象中时(在平衡环境中使用SQL服务器模式时),它非常方便。