繁体   English   中英

运行时实体框架上的连接字符串

[英]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=&quot;data source=local;initial catalog=DB;persist security info=True;user id=sa;password=1234;MultipleActiveResultSets=True;App=JOB&quot;" 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM