我正试图使用LinqToDB模板来构建一个现有的数据库。 数据库中的所有表的前缀都是 "tbl",即 "tblPerson"。 我想从我的类型名中去掉这个(和其他前缀)。 我试着修改LinqToDB.Templates目录下的DataModel.tinclude文件,但似乎没有任何影响。
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();