连接字符串 C# Entity Framework SQL Server Express
Posted
技术标签:
【中文标题】连接字符串 C# Entity Framework SQL Server Express【英文标题】:Connection string C# Entity Framework SQL Server Express 【发布时间】:2016-09-05 13:31:10 【问题描述】:我将 C# WPF EF6.0 和 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="data source=(LocalDB)\v11.0;attachdbfilename=|DataDirectory|\MyDB.mdf;integrated security=True;connect timeout=30;MultipleActiveResultSets=True;App=EntityFramework""
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="
Data source=.\SQLExpress;
integrated security=True;
MultipleActiveResultSets=True;
Initial Catalog=MyDB;
App=EntityFramework""
providerName="System.Data.EntityClient" />
我已经安装了我在 Visual Studio 2013 中使用的 .net Framework 4.5 和 SQL Server 2012 sp1 v11.0.300
当我安装我的程序时,一切正常,但是当我运行我的程序时,它在第一次启动时停止工作。我认为连接字符串有问题。 如果我在 Visual Studio 中单击调试,我会看到此错误
EntityFramework.dll 中出现“System.InvalidOperationException”类型的未处理异常。附加信息:在应用程序配置文件中找不到名为“MyDBEntities”的连接字符串。
【问题讨论】:
你有什么错误吗.. 不只是停止工作 如果我在视觉中单击调试会显示此错误。=>EntityFramework.dll 中发生“System.InvalidOperationException”类型的未处理异常。附加信息:在中找不到名为“MyDBEntities”的连接字符串应用程序配置文件。 【参考方案1】:原因是您没有将数据库文件附加到本地数据库引擎。尝试使用可用的适当 SQL Server 方法。您的应用程序(安装后)在本地数据库引擎中找不到数据库。
【讨论】:
实际上您正在使用安装过程,因此您似乎希望您的应用程序具有可移植性,因此您不应该使用绝对路径。关于提到的属性,我想你应该看看connectionstrings.com/sql-server-2012 您是否将数据库文件包含在安装程序文件夹中? 逻辑上不工作,去你的 sql server 分离数据库,将文件复制到具有足够权限的单独文件夹中,然后将 db 数据和日志文件包含在安装文件夹中。 他们有没有在安装中附加数据库? 看看这些:***.com/questions/20772846/… 和 codeproject.com/Articles/16231/…【参考方案2】:最后我无法使用Advanced Installer
创建安装文件。
但我是由Install Shield
创建的。
我的问题是从数据库中插入、删除或编辑。
我将我的程序安装在其他驱动器中,我的问题解决了。
原因是一个笑话,C
中的程序文件是readonly
。
【讨论】:
以上是关于连接字符串 C# Entity Framework SQL Server Express的主要内容,如果未能解决你的问题,请参考以下文章
C# Entity Framework Json 反序列化字符串数组问题
在 C# 中使用 Entity Framework Core 插入数据之前检查重复字符串数据的最佳实践