如何让PetaPoco停止更改表名?

时间:2012-02-25 07:06:33

标签: petapoco

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

由于

2 个答案:

答案 0 :(得分:1)

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

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

我不知道有办法把它关掉。我相信它是SubSonic变形器的残余物。在SchemaReader类中,您将看到如下调用:

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

您可以尝试将其更改为

tbl.ClassName=tbl.CleanName;

答案 1 :(得分: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;
    }
}