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

jaf*_*ffa 3 .net c# entity-framework

这个错误是什么意思?

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

并得到此错误:

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

我正在尝试在Visual Studio中的另一个项目中使用我的EF模型上下文.让我的EF应用程序开始真正遇到麻烦.我像这样实例化模型上下文:

ctx = new VisitoriDataModel("VisitoriDataModel");
Run Code Online (Sandbox Code Playgroud)

我有从数据层项目复制到包括web.config在内的所有项目的连接字符串,但仍然没有运气.

还尝试了以下内容:

//model = new VisitoriDataModel(new EntityConnection("Name=VisitoriDataModel"));
//model = new VisitoriDataModel("Name=VisitoriDataModel");
//model = new VisitoriDataModel("VisitoriDataModel");
//model = new VisitoriDataModel();
Run Code Online (Sandbox Code Playgroud)

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"
Run Code Online (Sandbox Code Playgroud)

Joe*_*l C 6

连接字符串需要进入正在执行的项目中.如果这是一个网站,那将是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>
Run Code Online (Sandbox Code Playgroud)

另请注意,"实体连接字符串中的提供者连接字符串周围需要进行转义&quot;