当前位置: 首页 > 编程语言 > C#

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

时间:2023-04-10 19:42:19 C#

如何修改edmx的默认代码生成策略?我想修改默认的代码生成策略,我该怎么做?我只想从Entities更改类名并将默认连接字符串更改为name=Default。(我不想为项目创建模板文件,我想编辑它以便它在全球范围内工作)我已经搜索了.tt文件,但我只能找到ItemTemplates。我不知道默认生成的代码是什么,这是我要编辑的代码。更新:我仍然不知道该怎么做。如果您单击EMDX文件并在VisualStudio中检查文件属性,您可以看到生成的代码是什么。查找CustomTool属性,它会告诉您将EDMXXML转换为可编译代码的生成器的类名。但是对于模型定制,我还是推荐大家使用T4获取EDMX,生成和原来生成器一样的代码。好处是,如果你愿意,你可以操纵它直到你死去。如果您计划在项目中的多个EMDX上使用T4,那么我建议您创建一个.ttinclude文件并在每个.tt文件中引用它。这样您将重用现有代码,并且当您更改它时,它将反映在所有生成的文件中。还有一个问题:global是什么意思?全局用于项目中的所有EDMX文件,或机器上的所有EDMX文件或项目团队中的所有EDMX文件?全局定义。额外编辑现在您已经将全局定义为特定机器上的所有项目,这就是我要做的。首先:使用T4可以调整EDMX->每个项目的转码更改,或者更好地说每个解决方案(特定解决方案中的所有项目)。在同一台机器上的其他项目/解决方案中,您应该包含相同的T4模板参考。所以它对你来说似乎不是全局的......你能做的最好的事情是使用这个T4模板创建一个自定义的VisualStudio项目模板,这将使你更容易将这个默认的T4模板添加到你的解决方案/项目中。这是全球性的,您可以使用T4来完成。也许您应该阅读有关自定义类型的MSDN条目:如何:自定义对象层代码生成(实体数据模型设计器)我不知道是否可以更改默认代码生成。我认为您可以创建一个从ObjectContext生成派生类的.tt,而不是尝试修改默认代码生成。这样你就可以随意命名它并实现一个默认的构造函数。类似于:partialclassEntities:{publicEntities():base("name=Default"){}}这种方法的缺点是您需要在创建的每个EDMX上部署此.tt文件。但是,对于VisualStudio的插件体系结构,您可能会考虑创建一个模板,该模板默认创建EDMX和此.tt文件。作为添加简单“ADO.NET实体数据模型”的替代方法查看EntityModelCodeGenerator(由默认代码生成策略运行的自定义工具),它似乎是使用SingleFileGenerator扩展机制注册的,它是一个COM组件。更多信息在这里。以上是C#学习教程:如何修改edmx的默认代码生成策略?如果所有分享的内容对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: