强制自动linq-to-sql类具有pascal大小写属性



我的SQL数据库的列名大小写为camel。我正在用C#将Linq用于SQL。

有没有一种方法可以强制属性的自动生成在帕斯卡的情况下?

camel-case属性不符合C#标准,每次需要重新创建类时手动执行它是一件很痛苦的事情。

如果你的数据库真的很大,手动重命名实体很耗时,那么:

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

L2ST4.包括文件更改:

找到类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.包括我已经更改的文件:)

我建议为T4项目l2st4.codeplex.com提供LINQ到SQL模板。您可以根据需要进行自定义。

最新更新