在Linq2DB模板生成中修改类型名称。

问题描述 投票:0回答:1

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

TypeName = t.TypeName.StartsWith("Tbl") ? t.TypeName.Replace("Tbl","") : t.TypeName,

显然,我错过了一些简单的东西。

sql-server t4 linq2db
1个回答
0
投票

感谢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();
© www.soinside.com 2019 - 2024. All rights reserved.