我的SQL数据库在camel的情况下有列名。 我正在使用Linq to SQL with C#。
有没有办法强制自动生成属性为pascal case?
驼峰案例属性不符合C#标准,每次我需要重新创建类时手动执行它都很痛苦。
答案 0 :(得分:1)
如果您的数据库非常大并且手动重命名实体非常耗时,那么:
CSharpDataClasses.tt
和L2ST4.ttinclude
。`CSharpDataClasses.tt
以匹配您的dbml
文件名(例如Northwind.tt
)dmbl
文件(例如Northwind.dbml
)并从MSLinqToSQLGenerator
媒体资源中删除Custom 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如果你真的很懒,那么使用我已经改变的this L2ST4.ttinclude file:)
答案 1 :(得分:0)
我建议T4项目l2st4.codeplex.com使用LINQ to SQL模板。您可以根据需要自定义它。