我在寫一個ASP MVC 3應用程序。我爲我的數據庫使用Sql Server 2008 R2。實體框架代碼首先嚐試打開錯誤的數據庫
我創建了我的數據模型,我的DbContext
被稱爲EFDbContext
。 我創建了我的數據庫,名爲SportsStore
。
我的連接字符串是:
<add name="EFDbContext" connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=SportsStore;Integrated Security=True;Pooling=False" providerName="System.Data.SqlClient" />
我運行應用程序,並沒有數據顯示。
我發現EF自動生成一個新的數據庫SportsStore.Domain.Concrete.EFDbContext
,但我希望它使用我以前創建的SportsStore,並自動將我的模型屬性映射到表格列。 如果我禁用自動生成數據庫功能,我得到以下錯誤:
Cannot open database "SportsStore.Domain.Concrete.EFDbContext" requested by the login
不宜實體框架試圖打開SportsStore數據庫?爲什麼它試圖打開那個?我有錯誤的連接字符串嗎?
什麼是您的EFDbContext類的構造函數看起來像?你把連接字符串傳給它了嗎?您可以將連接字符串傳遞給DBContext構造函數,或使用上下文類的名稱在web.config文件中設置連接字符串。 http://blogs.msdn.com/b/adonet/archive/2011/01/27/using-dbcontext-in-ef-feature-ctp5-part-2-connections-and-models.aspx – Felix