指定的命名连接没有找到,或者初始化字符串的格式不符合从索引0开始的规范

本文关键字:不符合 格式 索引 字符串 开始 初始化 连接 或者 | 更新日期: 2023-09-27 18:04:09

这个错误是什么意思?

初始化字符串的格式不符合从索引0开始的规范。

也得到这个错误:

指定的命名连接在配置中找不到,不打算与EntityClient提供程序一起使用,或者无效。

我试图在Visual Studio的另一个项目中使用我的EF模型上下文。我在申请英孚的过程中遇到了很大的麻烦。我像这样实例化模型上下文:

ctx = new VisitoriDataModel("VisitoriDataModel");

我有连接字符串从数据层项目复制到所有项目,包括web。

也尝试了以下操作:

//model = new VisitoriDataModel(new EntityConnection("Name=VisitoriDataModel"));
//model = new VisitoriDataModel("Name=VisitoriDataModel");
//model = new VisitoriDataModel("VisitoriDataModel");
//model = new VisitoriDataModel();

ConnectionString是这样的:

metadata=res://*/Context.VisitoriDataModel.csdl|res://*/Context.VisitoriDataModel.ssdl|res://*/Context.VisitoriDataModel.msl;provider=System.Data.SqlClient;provider connection string="data source=.'SQLEXPRESS;initial catalog=visitori;integrated security=True;multipleactiveresultsets=True;App=EntityFramework"

指定的命名连接没有找到,或者初始化字符串的格式不符合从索引0开始的规范

连接字符串需要进入正在执行的项目。如果这是一个网站,那就是web.config。确保它正确嵌套,而不是在另一个节点,如<system.web>,你应该有:

<configuration>
  ...
  <connectionStrings>
    <add name="VisitoriDataModel" connectionString="metadata=res://*/Context.VisitoriDataModel.csdl|res://*/Context.VisitoriDataModel.ssdl|res://*/Context.VisitoriDataModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=.'SQLEXPRESS;initial catalog=visitori;integrated security=True;multipleactiveresultsets=True;App=EntityFramework&quot;"
      providerName="System.Data.EntityClient" />
  </connectionStrings>
  ...
</configuration>

还要注意,实体连接字符串中提供程序连接字符串周围的"需要转义为&quot;