我一直在使用 Entity Framework 4 和 SQL Server。我发现的主要问题是数据库中的表名都是小写并且有下划线。这意味着当我在 Visual Studio 中创建实体时,类和属性都是带有下划线的小写字母。有没有办法为创建的类实现 Pascal 大小写和属性的 Camel 大小写?
例如:
table_name--> 转换为 TableName
是否需要添加任何其他模板或任何其他方式来实现这一点。
不建议手动编辑类名和属性,因为我有大量实体
我一直在使用 Entity Framework 4 和 SQL Server。我发现的主要问题是数据库中的表名都是小写并且有下划线。这意味着当我在 Visual Studio 中创建实体时,类和属性都是带有下划线的小写字母。有没有办法为创建的类实现 Pascal 大小写和属性的 Camel 大小写?
例如:
table_name--> 转换为 TableName
是否需要添加任何其他模板或任何其他方式来实现这一点。
不建议手动编辑类名和属性,因为我有大量实体
为什么不使用 T4 模板来生成实体类?这样,您可以添加一种将表名转换为您选择的约定的方法。
VS 带有几个用于 EF 的内置 T4 模板,因此您很可能只需选择其中一个并对其进行修改。我不建议从头开始编写自己的!
如果您以前没有使用过 T4 模板,快速入门是在设计器中打开您的 EF 模型,右键单击设计图面的空白部分并选择“添加代码生成项”。这将打开一个对话框,其中包含已安装的 EF T4 模板,您可以选择您认为最合适的任何一个。
然后,您可以在解决方案资源管理器中右键单击 T4 模板文件(它将具有 .tt 扩展名)并选择“运行自定义工具”以自行生成实体。您可以编辑 .tt 文件(它只是一个纯文本文件,包含一些看起来非常像 VBScript 的东西!)并进行修改。然后再次运行自定义工具,查看生成的实体是否具有正确的名称。
希望这可以帮助。
以下博客文章对如何执行此操作有很好的回应。它涉及修改创建数据模型时创建的 T4 模板文件。