2011-10-10 101 views
10

我使用EF的CodeFirst和定義良好的數據庫。 我的數據庫有一個名爲'Centros'(葡萄牙語單詞)的表格,我設法找到EF試圖複製我的實體以獲得'Centroes'女巫在這種情況下是錯誤的。實體框架CodeFirst表複數化

如果我刪除複數modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();我設法讓它工作,但我必須將我的表重命名爲'Centro'(以匹配我的實體名稱)。

葡萄牙語'Centro'是單數,'Centros'是複數。

我不想重命名我的表名,所以如何在刪除複數約定後指定我的實體的匹配表名?

回答

22

我註釋了我的所有類,無論框架是否可以通過一些智能反射例程爲我完成。例如。

[Table("Order")] 
public class Order 
{ 

} 

我們可以觸摸類型,它更乾淨,並且不太可能在某些意外事件中崩潰。

+1

這是更好的答案http://stackoverflow.com/questions/4796543/how-do-i-singularize-my-tables-in-ef-code-first – om471987

-1

ModelBuilder現在是System.Data.Entity.DbModelBuilder。

2

或者你可以在這樣的流利API做一次一個:

modelBuilder.Entity()ToTable( 「的ContactInfo」)。