2016-09-05 81 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