Как заставить PetaPoco перестать менять имена таблиц? - PullRequest
1 голос
/ 25 февраля 2012

Я использую шаблон PetaPoco T4 (http://www.hanselman.com/blog/T4TextTemplateTransformationToolkitCodeGenerationBestKeptVisualStudioSecret.aspx), Он всегда преобразует имена таблиц, например, он преобразует таблицу с именем «Media» в «Medium». Вы знаете, как мне сделать так, чтобы это перестало делать?

Спасибо

Ответы [ 2 ]

1 голос
/ 27 февраля 2012

В своем файле .Database.tt вы можете настроить имена классов по своему вкусу для каждой таблицы:

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

Я не знаю, как это везде можно отключить.Я считаю, что это остаток от инфлектора SubSonic.В классах SchemaReader вы увидите вызов, подобный этому:

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

Вы можете попробовать изменить его на

tbl.ClassName=tbl.CleanName;
0 голосов
/ 08 марта 2018

Чтобы предотвратить это, я всегда помещаю этот фрагмент кода в файл 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;
    }
}
...