2010-12-05 305 views
0

使用實體框架的第4版,您可以選擇執行他們稱之爲Code First的選項。問題是你的類和字段/屬性的命名需要與我所知道的數據庫相匹配。我正在使用MySQL,因此我在命名時使用了所有小寫字母和下劃線,因爲所有操作系統都不支持大寫,並且如果您嘗試強制使用,MySQL可能會很奇怪。問題是我使用標準的C#命名約定使用camelCase和PascalCase。有沒有辦法將我的數據庫中的命名映射到C#中的類,而不使用實體模型設計器(.edmx文件),因爲設計看起來有點麻煩。謝謝。手動將MySQL數據庫表/字段映射到C#實體類

回答

1

您可以使用將在類的第一個實例化時運行的可覆蓋方法OnModelCreating。在那裏,您可以覆蓋單獨的表像這樣

public class Context : DbContext { 

    //your models 

    protected override void OnModelCreating(ModelBuilder modelBuilder) { 
     modelBuilder.Entity<SomeTable>() 
         .MapSingleType() 
         .ToTable("YourTableNameInDatabase"); 
    } 
} 

就這麼簡單:)

+0

模型類是延伸或任何東西,所以沒有覆蓋,能夠方法,因爲它僅僅是一個POCO。 – ryanzec 2010-12-17 20:43:50