此连接字符串工作
在我的本地系统上,我使用的是数据库连接字符串
<connectionStrings>
<add name="GaugeSelectorEntities" connectionString="metadata=res://*/Gage.csdl|res://*/Gage.ssdl|res://*/Gage.msl;provider=System.Data.SqlClient;provider connection string="Data Source=GEORGE1\SQL08R2;Initial Catalog=GaugeSelector;Integrated Security=True;MultipleActiveResultSets=True"" providerName="System.Data.EntityClient" />
</connectionStrings>
这完全没问题。
更改了数据库文件的安装并导致错误
现在我必须部署WPF应用程序,所以我想从数据库中附加mdf文件。因此,根据Web上的现有资源建议,我将字符串更改为
<connectionStrings>
<add name="GaugeSelectorEntities" connectionString="metadata=res://*/Gage.csdl|res://*/Gage.ssdl|res://*/Gage.msl;provider=System.Data.SqlClient;provider connection string="Data Source=GEORGE1\SQL08R2;AttachDbFilename=|DataDirectory|\DB\GaugeSelector.mdf;Initial Catalog=GaugeSelector;Integrated Security=True;MultipleActiveResultSets=True"" providerName="System.Data.EntityClient" />
</connectionStrings>
唯一的变化是
AttachDbFilename=|DataDirectory|\DB\GaugeSelector.mdf;
我将数据库的mdf文件从其位置复制到可执行路径中的文件夹DB。顺便说一句,我使用LINQ到EF。但现在我开始得到错误。
{"The underlying provider failed on Open."}
现在我读到了如果没有打开对象上下文可能会发生的事情。所以我把
GSData.Connection.Open();
但现在它在这里打破同样的错误。 我的方法本身是错的(那么应该是什么方法)或者我只需要对连接字符串进行一些小的修改?