我正在尝试使用 LinqToDB 模板构建现有数据库。数据库中的所有表都有一个前缀“tbl”,即“tblPerson”。我想从我的类型名称中去掉这个(和其他前缀)。我尝试修改 LinqToDB.Templates 目录中的 DataModel.ttinclude 文件,但似乎没有任何影响。
TypeName = t.TypeName.StartsWith("Tbl") ? t.TypeName.Replace("Tbl","") : t.TypeName,
显然我错过了一些简单的东西。
我正在尝试使用 LinqToDB 模板构建现有数据库。数据库中的所有表都有一个前缀“tbl”,即“tblPerson”。我想从我的类型名称中去掉这个(和其他前缀)。我尝试修改 LinqToDB.Templates 目录中的 DataModel.ttinclude 文件,但似乎没有任何影响。
TypeName = t.TypeName.StartsWith("Tbl") ? t.TypeName.Replace("Tbl","") : t.TypeName,
显然我错过了一些简单的东西。
感谢 DLuk 的链接,我能够使用 DB.tt 文件中的以下代码修改表。
foreach (var t in Tables.Values)
{
t.TypeName = t.TypeName.StartsWith("Tbl") ? t.TypeName.Replace("Tbl","") : t.TypeName;
t.DataContextPropertyName = t.TypeName;
foreach(var k in t.ForeignKeys.Values)
{
k.MemberName = k.MemberName.StartsWith("Tbl") ? k.MemberName.Replace("Tbl","") : k.MemberName;
}
}
GenerateModel();