1

我的 SQL 数据库有驼峰式的列名。我正在使用带有 C# 的 Linq to SQL。

有没有办法强制在帕斯卡情况下自动生成属性?

驼峰式属性不符合 C# 标准,每次我需要重新创建类时手动执行它很痛苦。

4

2 回答 2

1

如果您的数据库非常大并且手动重命名实体非常耗时,那么:

  • 下载T4 的 LINQ to SQL 模板并将两个文件添加到您的项目CSharpDataClasses.ttL2ST4.ttinclude.
  • 重命名`CSharpDataClasses.tt以匹配您的dbml文件名(例如Northwind.tt
  • 选择dmbl文件(例如Northwind.dbml)并MSLinqToSQLGeneratorCustom Tool属性中删除。
  • L2ST4.ttinclude按照进一步描述打开并更改它
  • 选择Northwind.tt文件并按下Ctrl+S(这将运行 LINQ 2 SQL 类生成)。

L2ST4.ttinclude 文件更改:

找到类的定义Data(在文件的顶部)并将此代码粘贴到它之前:

class Lazy
{
   public static string FirstLetterToUpper(string str)
   {
       return Char.ToUpper(str[0]) + str.Substring(1);
   }
}

然后找到类的定义Table并在构造函数中将Member属性初始化替换为

Member = Lazy.FirstLetterToUpper((String)xe.Attribute("Member"));

查找类Class并在构造函数中将Name属性初始化替换为

Name = Lazy.FirstLetterToUpper((String) xe.Attribute("Name")); 

最后,Association在其构造函数集中找到类

typeName = Lazy.FirstLetterToUpper((String) xe.Attribute("Type"));

PS如果你真的很懒,那么使用我已经更改的这个 L2ST4.ttinclude 文件:)

于 2012-11-14T23:12:40.333 回答
0

我建议 T4 项目l2st4.codeplex.com的 LINQ to SQL 模板。您可以根据需要自定义它。

于 2012-11-14T22:50:21.107 回答