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

时间:2017-03-06 19:41:05

标签: c# .net entity-framework

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

3 个答案:

答案 0 :(得分:17)

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

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

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

答案 1 :(得分:12)

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

如果您希望将自己的方法添加到由代码生成器(包括EF)生成的类中,最好将实现放在单独的文件中,这样您就不会冒失败的风险每次重新生成代码时都会进行自定义。

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

答案 2 :(得分:-2)

将其标记为部分允许您将属性放入该类。
例如,当您需要将DB生成的类标记为Serializable以便能够将其存储在Session对象中时(在平衡环境中使用SQL服务器模式时),它非常方便。