[英]connection string at runtime entity framework
我正在使用实体框架5,并尝试在运行时创建连接字符串。
这是我的旧配置
<connectionStrings>
<!--<add name="JobEntities" connectionString="metadata=res://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl;provider=System.Data.SqlClient;provider connection string="data source=local;initial catalog=DB;persist security info=True;user id=sa;password=1234;MultipleActiveResultSets=True;App=JOB"" providerName="System.Data.EntityClient" />-->
</connectionStrings>
我的DBContext构造函数
public JobEntities(String connectionString)
: base(connectionString)
{
}
并打电话给我的数据库
String entityConnStr = @"metadata=res://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl;provider=System.Data.SqlClient;provider connection string=data source=local;initial catalog=DB;persist security info=True;user id=sa;password=1234;MultipleActiveResultSets=True;App=JOB";
using (var context = new Model.JobEntities(entityConnStr))
{
try
{
var d = context.TABLE.ToList();
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
}
}
当执行我的代码时,已引发异常并显示消息
不支持关键字:“初始目录”。
有人可以帮我
您的提供程序连接字符串未正确引用。
String entityConnStr = @"metadata=res://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl;provider=System.Data.SqlClient;provider connection string=data source=local;initial catalog=DB;persist security info=True;user id=sa;password=1234;MultipleActiveResultSets=True;App=JOB";
应该
String entityConnStr = @"metadata=res://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl;provider=System.Data.SqlClient;provider connection string=""data source=local;initial catalog=DB;persist security info=True;user id=sa;password=1234;MultipleActiveResultSets=True;App=JOB""";
实体框架的连接字符串中嵌入了基于提供程序的连接字符串。 initial catalog
属性被错误地解释为属于实体框架级别而不是提供者级别。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.