2016-09-05 166 views
1

我正在使用C#WPF EF6.0和SQL Server Express作爲最終的程序。連接字符串C#實體框架SQL Server Express

我已創建了高級的安裝程序,通過腳本和SQL Server Express在

C:\Program Files\Microsoft SQL Server\MSSQL11.SQLEXPRESS\MSSQL\DATA 

創建數據庫的設置文件,我已經改變從

<add name="MyDBEntities" 
    connectionString="metadata=res://*/MyDBModel.csdl|res://*/MyDBModel.ssdl|res://*/MyDBModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=(LocalDB)\v11.0;attachdbfilename=|DataDirectory|\MyDB.mdf;integrated security=True;connect timeout=30;MultipleActiveResultSets=True;App=EntityFramework&quot;" 
    providerName="System.Data.EntityClient" /> 

我的字符串連接要這個

<add name="MyDBEntities" 
    connectionString="metadata=res://*/MyDBModel.csdl| 
         res://*/MyDBModel.ssdl| 
         res://*/MyDBModel.msl; 
         provider=System.Data.SqlClient; 
         provider connection string=&quot; 
          Data source=.\SQLExpress; 
          integrated security=True; 
          MultipleActiveResultSets=True; 
          Initial Catalog=MyDB; 
          App=EntityFramework&quot;" 
    providerName="System.Data.EntityClient" /> 

我已安裝.net Framework 4.5和SQL Server 2012 sp1 v11.0.300我已經在Visual Studio 2013中使用了

當我安裝我的程序時,一切正常,但是當我運行我的程序時,它在第一次啓動時停止工作。我認爲連接字符串有問題。 如果我在Visual Studio中單擊調試,我看到這個錯誤

「System.InvalidOperationException」類型的未處理的異常出現在EntityFramework.dll.Additional信息:沒有名爲「MyDBEntities」連接字符串可以在找到應用配置文件。

+0

你會得到任何錯誤.. – Venky

+0

沒有剛剛停止工作 – yasser93

+0

如果我點擊調試在視覺顯示此錯誤=>在EntityFramework.dll中發生未處理的異常類型'System.InvalidOperationException'。附加信息:沒有連接字符串命名爲'MyDBEntities'可以在應用程序配置文件中找到。 – yasser93

回答

1

最後我無法用Advanced Installer創建安裝文件。 但我通過Install Shield創建了它。 我的問題是插入,刪除或編輯數據庫。 我在其他驅動器中安裝了我的程序,並解決了我的問題。 原因是一個笑話,C中的程序文​​件是readonly

1

原因是您沒有將數據庫文件附加到本地數據庫引擎。嘗試使用可用的適當的SQL Server方法。您的應用程序(安裝後)無法在本地數據庫引擎中找到數據庫。

+0

我該怎麼做? – yasser93

+0

有不同的方法,其中一個可以使用SQL Server中的sp_attach_db並編寫一個過程,考慮到這一點,該方法不應該在移動數據庫中。原因是你沒有附加你的數據庫,所以你不能使用它的程序。有關更多信息,請使用https://msdn.microsoft.com/en-us/library/ms190794.aspx – Media

+0

我可以在連接字符串中使用attachdbfilename,並給這個位置?? => C:\ Program Files \ Microsoft SQL Server \ MSSQL11.SQLEXPRESS \ MSSQL \ DATA – yasser93