1

當使用實體框架的CRUD集成添加控制器助手/棚架,我得到以下錯誤:添加控制器數據庫錯誤在ASP.NET MVC 4

Unable to retrieve metadata for 'MyApp.Models.MyModel'. Cannot attach the file 
'C:\Users\Lev\AppData\Local\Temp\2d7daf19-d47f-df24-ac76-d3df4fg2sa\aspnet-MyApp- 
20130409170533.mdf' as database 'aspnet-MyApp-20130409170533.mdf'. 

的問題是:爲什麼找數據庫在我的臨時文件?該數據庫文件位於:

C:\Projects\MyApp\MyApp\App_Data 

這是我的連接字符串:

Data Source=(LocalDb)\v11.0; 
Initial Catalog=aspnet-MyApp-20130409170533; 
Integrated Security=SSPI; 
AttachDBFilename=|DataDirectory|\aspnet-MyApp-20130409170533.mdf 

因此,這似乎是參考| DataDirectory目錄|行爲不端。我如何設置DataDirectory? 如果我手動將正確的路徑放入AttachDBFilename屬性,則腳手架起作用。但我仍然喜歡將它保留爲| DataDirectory |。

+0

這解釋了它很漂亮http://stackoverflow.com/questions/1409358/ado-net-datadirectory-where-is-this-documented – 2013-04-10 02:02:29

+0

我不確定,但我相信web.config文件獲取在任何其他代碼之前執行/編譯。因此,如果我在這樣做的任何東西回答,它不會影響web.config連接字符串(這是腳手架控制器時使用的) – 2013-04-11 00:01:36

回答

1

只需重新啓動Visual Studio。這有助於我的項目。