我以前在我的數據庫中創建了幾桌,我想要映射到幾個模型類:自定義表名ASP MVC 4
"SISTEMA.Voyages" => public class Voyage
"SISTEMA.Puerto" => public class Port
據我所知,在ASP.MVC 4實體框架,這樣可以可以通過兩種方式來完成。但是,對於他們兩個,我都會收到我不知道如何解決的錯誤。
率先在Voyage.cs:
[Table("SISTEMA.Voyages")]
public class Voyage
或第二的Context.cs:
public class ApplicationEntities : DbContext
{
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<Voyage>().ToTable("SISTEMA.Voyages");
}
}
對於第一個版本時,我以前以爲這是自動的東西我得到這個錯誤:
The type or namespace name 'Table' could not be found (are you using directive or an assembly reference?)
The type or namespace name 'TableAttribute' could not be found (are you using directive or an assembly reference?)
第二次我得到這個錯誤,我沒有想到,因爲我認爲這個是一個配置問題,讓我非常困惑:
The model backing the 'ApplicationEntities' context has changed since the database was created. Consider using Code First Migrations to update the Database.
這個歷史甚至記錄在哪裏?
爲了記錄在案,我用來處理這種在Rails的問題通過鍵入:
class Voyage
self.table_name = "SISTEMA.Voyages"
end
而且我不是很熟悉C#/ ASP.NET。只要發佈我正在尋找的下一個小時,除非有人告訴我我先出錯的地方。
對於第一個版本,您是否添加了using指令? (使用System.ComponentModel.DataAnnotations) – Jack
我剛剛做到了。謝謝。而現在我得到了第二種情況發生的錯誤。 :(目前正在研究Migrations,但我仍然感到困惑...... – ovatsug25
閱讀後更接近解決方案:http://stackoverflow.com/questions/3600175/the-model-backing-the-database-context-has-因爲數據庫是crea基本上我在'Global.asax'中添加'使用System.Data.Entity';並且還添加了'Database.SetInitilaizer(null);' –
ovatsug25