【发布时间】:2012-12-01 13:19:54
【问题描述】:
Entity Framework 3.5/4.0 中的默认类型生成会发出“Xxxx.designer.cs”源文件中的每个类型(其中“Xxxx”是正在生成的类型的名称)。然后,这允许开发人员生成他自己的“Xxxx.cs”源文件,在那里可以进行进一步的实现,或者可以将属性添加到元数据类等。
最近可用的 T4 模板(POCO、Self Tracking 等),包括 VS2012 中的默认类型生成,都生成“Xxxx.cs”本身,没有“.designer”后缀。
我知道重写 T4 模板的行为以在文件名中发出“.designer”很容易,但是我在这里遗漏了一些东西,实际上我们不鼓励通过部分定义来扩展这些类?
在我最近生成自我跟踪实体的项目中,我发现我必须重命名发出的文件,以便我可以使用元数据类属性以及 .Equals(object) 和 .GetHashcode() 的覆盖来扩展定义(否则 EF 无法正确检测重复)例如。
我是否遗漏了什么,我们现在应该将发出的部分类保留原样,或者这仅仅是一个疏忽,你们中的大多数人还必须重命名正在发出的源文件吗?
【问题讨论】:
标签: visual-studio entity-framework visual-studio-2012 t4