在VS 2012中,我創建了一個新的MVC 4項目,從Internet應用程序模板開始,然後更改其屬性以使用SQL Server Express代替LocalDB,然後嘗試成功註冊一位新用戶。MVC 4 - 如何更改默認的SQL Server Express數據庫位置
首先,該項目在App_data
文件夾中創建了自己的會員數據庫,但部署的原因,我想更改數據庫的位置,所以我從C:\MyProject\App_Data\
移動數據庫物理文件C:\MyData
,並在web.config
文件修改的相關路徑。爲了確保SQL Server Express實例可以訪問數據庫,我在屬性安全性選項卡中添加了我自己的具有完全訪問權限的用戶帳戶,然後在SQL Server Management Studio中成功顯示了它的數據。
現在,當我運行該項目,並單擊「登錄」鏈接時,調試器停止在LazyInitializer.EnsureInitialized
並失敗並出現錯誤;錯誤消息的內部異常說:
數據庫 'C:\ MyProject的\ App_Data文件\ ASPNET,MyProject的-20121206123456.mdf' 已經存在 。選擇不同的數據庫名稱。
無法附加文件 'C:\ MyData的\ ASPNET,MyProject的-20121206123456.mdf' 數據庫 'ASPNET-MyProject的-20121206123456.mdf'
我檢查所有的項目找到任何不同的數據庫連接設置,但什麼也沒找到
在VS,當我使用服務器資源管理器來查看數據庫表中的數據,我無法找到「顯示數據」選項時,我右擊顯示的表中的一個,當我去C:\MyData\
文件夾以查看物理數據庫文件屬性,在安全選項卡中,我發現每次運行項目時,使用完全訪問權限的帳戶都被刪除。
而且的瀏覽器顯示的下一個異常文本:
The data provider. Net Framework requested was not found. It may not be installed.
C:\ MyProject的\ \過濾利涅InitializeSimpleMembershipAttribute.cs:42
Ligne 40 : }
Ligne 41 :
Ligne 42 : WebSecurity.InitializeDatabaseConnection("DefaultConnection", "UserProfile", "UserId", "UserName", autoCreateTables: true);
Ligne 43 : }
Ligne 44 : catch (Exception ex)