user438233
user438233

Reputation:

How to make PetaPoco stop changing table names?

I'm using PetaPoco T4 Template (http://www.hanselman.com/blog/T4TextTemplateTransformationToolkitCodeGenerationBestKeptVisualStudioSecret.aspx), It always converting table names, for example it converts a table named "Media" to "Medium". Have you any idea how can I make it to stop doing that?

Thanks

Upvotes: 1

Views: 793

Answers (2)

Mario Vázquez
Mario Vázquez

Reputation: 777

To prevent that, I put always this piece of code in the Database.tt file:

// 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;
    }
}

Upvotes: 0

Atometa
Atometa

Reputation: 111

In your .Database.tt file you can tweak the class names to your liking for each table:

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

I don't know of a way to turn this off everywhere. I believe it is a remnant from the SubSonic inflector. In the SchemaReader classes you will see a call like this:

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

You could try changing that to

tbl.ClassName=tbl.CleanName;

Upvotes: 1

Related Questions