强制实体框架生成的类具有Pascal套管和列名称以具有Camel套管

时间:2013-02-28 09:37:10

标签: c# entity-framework entity-framework-4 camelcasing pascalcasing

我一直在使用Entity Framework 4和SQL Server。我发现的主要问题是数据库中的表名都是小写的并且有下划线。这意味着当我在Visual Studio中创建实体时,类和属性都是小写的下​​划线是否有任何方法可以为创建的类和属性的Camel Casing实现Pascal Casing?

例如:

表名 - >要转换为TableName

是否需要添加任何其他模板或以其他任何方式实现此目的。

建议不要手动编辑类名和属性,因为我有大量实体

2 个答案:

答案 0 :(得分:2)

为什么不使用T4模板生成实体类?这样,您可以添加一个方法将表名转换为您选择的约定。

VS附带了几个用于EF的内置T4模板,因此您很可能只需选择其中一个并进行修改即可。我不建议从头开始写你自己的!

如果您之前没有使用过T4模板,请快速启动,在设计器中打开EF模型,右键单击设计图面的空白部分,然后选择“添加代码生成项”。这将打开一个包含已安装的EF T4模板的对话框,您可以选择最合适的。

然后,您可以在解决方案资源管理器中右键单击T4模板文件(它将具有.tt扩展名)并选择“运行自定义工具”以自行生成实体。你可以编辑.tt文件(它只是一个纯文本文件,包含看起来像VBScript的东西!)并进行修改。然后再次运行自定义工具,查看生成的实体是否具有正确的名称。

希望这有帮助。

答案 1 :(得分:0)

以下博客文章对如何执行此操作有很好的回应。它涉及修改创建数据模型时创建的T4模板文件。

http://khalidk7.wordpress.com/2014/04/21/entity-framework-ef-t4-template-modification-to-output-pascalcasing-database-objects/