2012-02-25 23 views

回答

1

在你.Database.tt文件,你可以調整的類名稱以自己的喜好爲每個表:

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

我不知道的方式到處關閉這個功能。我相信這是SubSonic inflector的一部分。在SchemaReader類,你會看到這樣一個電話:

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

你可以嘗試改變,要

tbl.ClassName=tbl.CleanName; 
+0

我在哪裏可以找到SchemaReader類?正如你所知道的PetaPoco只是一個.cs文件,我沒有發現任何帶有這個名字的類。 – 2012-02-28 19:10:12

+0

檢出文件「PetaPoco.Core.ttinclude」並搜索Inflector.MakeSingular – Don 2012-02-29 01:11:09

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; 
    } 
} 
+0

歡迎來到SO。請瀏覽https://stackoverflow.com/tour – 2018-03-08 08:35:32