如何修改edmx的默认代码生成策略?

Bru*_*oLM 9 c# templates entity-framework entity-framework-4

我想修改默认的代码生成策略,我该怎么做?

我只是想从中修改类名<#=code.Escape(container)#>,Entities并将默认连接字符串更改为name=Default.

(我不想为项目创建模板文件,我想编辑它以便全局工作)

我搜索过.tt文件,我只能找到ItemTemplates.我不知道默认情况下生成代码是什么,这是我想要编辑的代码.

更新:我还是不知道该怎么做.

Rob*_*nik 5

如果单击EMDX文件并在Visual Studio中检查文件属性,则可以查看生成代码的内容.查找Custom Tool将告诉您将EDMX XML转换为可编译代码的生成器的类名称的属性.

但是关于模型定制,我仍然建议您使用T4来获取EDMX并生成与原始生成器相同的代码.好的是,你可以操纵它,直到你死了,如果你愿意的话.

如果您打算在项目中的几个EMDX上使用T4,那么我建议您创建一个.ttinclude文件并在每个.tt文件中引用它.这样您就可以重用现有代码,当您更改它时,它将反映在所有生成的文件中.

还有一个问题:全球的意思是什么?全局用于项目中的所有EDMX文件,或机器上的所有EDMX文件或项目团队中的所有EDMX文件或什么?全球定义.

额外编辑

既然您已将全局定义为特定计算机上的所有项目,那么这就是我要做的.

首先:使用T4可以调整EDMX - >每个项目的代码转换更改或更好地说每个解决方案(特定解决方案中的所有项目).在同一台机器上的其他项目/解决方案中,您应该包含相同的T4模板参考.所以它在你看来并不是真正的全球化 ......

您可以做的最好的事情是使用此T4模板创建自定义Visual Studio项目模板,这样可以更轻松地将此默认T4模板添加到您的解决方案/项目中.这是全球性的,你可以通过T4来实现.

也许您应该阅读这篇关于您的自定义类型的MSDN条目:
如何:自定义对象层代码生成(实体数据模型设计器)