我正在使用实体框架从旧数据库生成数据访问代码。
数据库表名和属性都以大写字母命名, _
以分隔单词 ie。 CLIENT
, CLIENT_NAME
, D_CLIENT_ID
等
我编写了一个类来将这些转换为驼峰式字符串:
public static class Extensions{
public static string FirstCharToUpper(this string input)
{
return input.First().ToString().ToUpper() + input.Substring(1).ToLower();
}
public static string CamelCase(this string input)
{
return input.Split('_').Where(a=>!string.IsNullOrEmpty(a)).Select(a=>a.FirstCharToUpper()).Aggregate((a,b)=>a+b);
}
}
我从我的 tt 文件中调用它,我已经达到了我的数据类和 DbContext 命名是我想要的方式的地步。
但是,当我尝试创建控制器时出现错误:“无法检索 myNamespace.Client 的元数据”。找不到“myModel.ENTITYNAME”的 CLR 类型。(大写)
为了解决这个问题,我用 Data.tt 来装饰我的数据类[Table("ENTITYNAME")]
和我的属性[Column("COLUMNNAME")]
——但这并没有什么区别。
我错过了什么?