Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 强制自动linq到sql类具有pascal大小写属性?_C#_Linq To Sql_Properties_Camelcasing_Pascalcasing - Fatal编程技术网

C# 强制自动linq到sql类具有pascal大小写属性?

C# 强制自动linq到sql类具有pascal大小写属性?,c#,linq-to-sql,properties,camelcasing,pascalcasing,C#,Linq To Sql,Properties,Camelcasing,Pascalcasing,我的SQL数据库的列名是驼峰式的。 我正在使用LINQtoSQL和C 有没有办法强制自动生成pascal情况下的属性 camel-case属性不符合C标准,每次需要重新创建类时手动执行都很痛苦。我建议为T4项目使用LINQ到SQL模板。您可以根据需要自定义它。我建议为T4项目使用LINQ到SQL模板。您可以根据需要对其进行自定义。如果您的数据库非常大,手动重命名实体非常耗时,则: 下载两个文件并将其添加到项目CSharpDataClasses.tt和L2ST4.ttinclude中。 重命名`C

我的SQL数据库的列名是驼峰式的。 我正在使用LINQtoSQL和C

有没有办法强制自动生成pascal情况下的属性


camel-case属性不符合C标准,每次需要重新创建类时手动执行都很痛苦。

我建议为T4项目使用LINQ到SQL模板。您可以根据需要自定义它。

我建议为T4项目使用LINQ到SQL模板。您可以根据需要对其进行自定义。

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

下载两个文件并将其添加到项目CSharpDataClasses.tt和L2ST4.ttinclude中。 重命名`CSharpDataClasses.tt以匹配您的dbml文件名,例如Northwind.tt 选择dmbl文件,例如Northwind.dbml,并从自定义工具属性中删除MSLinqToSQLGenerator。 打开L2ST4.t包括并按进一步说明进行更改 选择Northwind.tt文件并按Ctrl+S这将运行LINQ 2 SQL类生成。 L2ST4.t包括文件更改:

在文件顶部找到类数据的定义,并将此代码粘贴到其前面:

class Lazy
{
   public static string FirstLetterToUpper(string str)
   {
       return Char.ToUpper(str[0]) + str.Substring(1);
   }
}
然后找到类表的定义,并在构造函数中将成员属性初始化替换为

Member = Lazy.FirstLetterToUpper((String)xe.Attribute("Member"));
Name = Lazy.FirstLetterToUpper((String) xe.Attribute("Name")); 
查找类并在构造函数中将名称属性初始化替换为

Member = Lazy.FirstLetterToUpper((String)xe.Attribute("Member"));
Name = Lazy.FirstLetterToUpper((String) xe.Attribute("Name")); 
最后,在其构造函数集中查找类关联和

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

PS如果你真的很懒,那么使用已经被我更改的:

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

下载两个文件并将其添加到项目CSharpDataClasses.tt和L2ST4.ttinclude中。 重命名`CSharpDataClasses.tt以匹配您的dbml文件名,例如Northwind.tt 选择dmbl文件,例如Northwind.dbml,并从自定义工具属性中删除MSLinqToSQLGenerator。 打开L2ST4.t包括并按进一步说明进行更改 选择Northwind.tt文件并按Ctrl+S这将运行LINQ 2 SQL类生成。 L2ST4.t包括文件更改:

在文件顶部找到类数据的定义,并将此代码粘贴到其前面:

class Lazy
{
   public static string FirstLetterToUpper(string str)
   {
       return Char.ToUpper(str[0]) + str.Substring(1);
   }
}
然后找到类表的定义,并在构造函数中将成员属性初始化替换为

Member = Lazy.FirstLetterToUpper((String)xe.Attribute("Member"));
Name = Lazy.FirstLetterToUpper((String) xe.Attribute("Name")); 
查找类并在构造函数中将名称属性初始化替换为

Member = Lazy.FirstLetterToUpper((String)xe.Attribute("Member"));
Name = Lazy.FirstLetterToUpper((String) xe.Attribute("Name")); 
最后,在其构造函数集中查找类关联和

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

PS如果你真的很懒,那就使用我已经修改过的:

提供的东西,比如命名约定、Linq到SQL模型更新以及其他一些好东西。不是免费的,但是如果你真的在使用LINQtoSQL的话,这是值得的!我想你不可能重命名你的SQL列了吧?这听起来像是最简单的方法。@SteveDanner实际上最简单的方法是在dbml设计器中重命名生成的类。它提供了类似的东西——命名约定、Linq到SQL模型刷新以及其他一些好东西。不是免费的,但是如果你真的在使用LINQtoSQL的话,这是值得的!我想你不可能重命名你的SQL列了吧?这听起来是最简单的方法。@SteveDanner实际上最简单的方法是在dbml Designer中重命名生成的类。我正在使用Entity Framework 4.0和sql server。我也有类似的问题。。属性都是小写,并且包含下划线。。。类似地,实体框架也会以数据库中的名称生成类。。。有什么解决办法吗?@Xavier我不知道T4模板是否与EF 4.0兼容。但您可以使用T4更改属性名的生成。我使用的是Entity Framework 4.0和sql server。我也有类似的问题。。属性都是小写,并且包含下划线。。。类似地,实体框架也会以数据库中的名称生成类。。。有什么解决办法吗?@Xavier我不知道T4模板是否与EF 4.0兼容。但您可以使用T4更改属性名生成。