1

我正在使用 PetaPoco T4 模板 (http://www.hanselman.com/blog/T4TextTemplateTransformationToolkitCodeGenerationBestKeptVisualStudioSecret.aspx),它总是转换表名,例如它将名为“Media”的表转换为“Medium”。你知道我怎样才能让它停止这样做吗?

谢谢

4

2 回答 2

1

在您的 .Database.tt 文件中,您可以根据自己的喜好为每个表调整类名:

tables["Media"].ClassName = "Media";

我不知道有什么方法可以在任何地方关闭它。我相信它是 SubSonic 变形器的残余物。在 SchemaReader 类中,您将看到如下调用:

tbl.ClassName=Inflector.MakeSingular(tbl.CleanName);

您可以尝试将其更改为

tbl.ClassName=tbl.CleanName;
于 2012-02-27T17:48:03.803 回答
0

为了防止这种情况,我总是将这段代码放在 Database.tt 文件中:

// Read schema
var tables = LoadTables();
foreach(Table t in tables)
{
    if(!t.Name.ToLower().StartsWith("tablePrefix_"))
    {
        // Filter tables by prefix
        t.Ignore = true;   
    }
    else
    {
        // This do the trick discussed here
        t.ClassName = t.CleanName;
    }
}
于 2018-03-08T08:18:04.833 回答