强制使Entity Framework生成的类采用帕斯卡命名法,列名采用驼峰命名法。

6
我一直在使用Entity Framework 4和SQL Server。我发现的主要问题是数据库中的表名都是小写并且带下划线。这意味着当我在Visual Studio中创建实体时,类和属性都是小写字母加下划线。是否有办法使创建的类使用帕斯卡命名法,属性使用驼峰命名法?
例如:
table_name--> 转换为 TableName 是否需要添加任何其他模板或采用其他方法来实现此目的? 不建议手动编辑类名和属性,因为我的实体数量很大

您必须手动更新设计师中的实体,然后您的类才能正确生成。 - Ladislav Mrnka
@LadislavMrnka 手动更新是一个繁琐的过程,因为在我的情况下它包含大量的实体。 - Xavier
@LadislavMrnka 有没有办法在生成edmx文件时强制类的命名采用帕斯卡命名法,或者在创建edmx后自动重命名所有类的方法? - Xavier
好的,EDMX是XML文件,因此您可以编写一些脚本来自动完成这项工作。 - Ladislav Mrnka
2个回答

2
为什么不使用T4模板来生成实体类呢?这样,您就可以添加一个方法来将表名转换为您选择的约定。VS带有几个内置的EF T4模板,因此很可能您只需选择其中一个并进行修改即可。我不建议从头编写自己的模板!如果您以前没有使用过T4模板,快速入门方法是在设计器中打开您的EF模型,在设计面板的空白部分上右键单击,然后选择“添加代码生成项”。这将打开一个对话框,其中包含EF的安装T4模板,您可以选择最合适的模板。然后,您可以右键单击解决方案资源管理器中的T4模板文件(它将具有.tt扩展名),然后选择“运行自定义工具”来生成实体本身。您可以编辑.tt文件(它只是一个纯文本文件,包含看起来像VBScript的东西!)并进行修改。然后再次运行自定义工具,查看生成的实体是否具有正确的名称。希望这可以帮助到您。

完成了相同的操作...但.tt文件包含大量代码...我应该编辑什么...我已经查找了将文本转换为帕斯卡命名法的方法,但似乎没有可用的方法...我应该添加自定义方法还是更改任何可用的方法..? - Xavier

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接