You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何更新ASP.NET Entity项目连接字符串?连接字符串metadata缺失报错求助

解决ASP.NET Entity项目连接字符串更新及metadata缺失问题

看样子你是在用Entity Framework的数据库优先/模型优先模式(也就是带EDMX文件的那种),这种模式的连接字符串和普通SQL Server的连接字符串完全不一样,这就是你改完之后出现metadata错误的核心原因。

先给你理清楚两个错误的根源:

  • 最开始的The underlying provider failed on Open.:本质是原来的连接字符串没法正常连接到你的本地SQL Server,大概率是实例名、数据库名或者身份验证信息不对。
  • 后来的metadata缺失错误:因为EF的EDMX模式必须靠metadata关键字指定模型的三个核心文件(CSDL概念模型、SSDL存储模型、MSL映射文件),你改成普通SQL连接字符串后把这部分丢了,所以直接报错。

正确的EDMX连接字符串格式

你需要用这种结构的连接字符串,对应到你的Northwind项目:

<add name="Northwind" 
     connectionString="metadata=res://*/App_Code.Northwind.csdl|res://*/App_Code.Northwind.ssdl|res://*/App_Code.Northwind.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=YOUR_LOCAL_SQL_INSTANCE;initial catalog=Northwind;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework&quot;" 
     providerName="System.Data.EntityClient" />

关键部分详解

  • metadata:这部分绝对不能少,res://*/表示从项目程序集中查找模型文件,后面的App_Code.Northwind要和你EDMX生成的文件名对应(如果你的EDMX在App_Code文件夹下,名叫Northwind.edmx,那这个路径就没问题)。
  • provider connection string:这里面才是你本地SQL Server的实际连接信息,需要改成自己的配置:
    • data source:填你的本地SQL Server实例名,比如., localhost, .\SQLEXPRESS(如果你装的是SQL Server Express版本)。
    • initial catalog:数据库名,直接填Northwind就行。
    • integrated security=True:用Windows身份验证登录SQL Server;如果要用SQL账号登录,改成user id=你的SQL用户名;password=你的密码;。
    • 注意里面的引号要用&quot;转义,因为是在XML属性里,直接用双引号会报错。
  • providerName:必须设为System.Data.EntityClient,不能用普通的System.Data.SqlClient,这也是很多人踩坑的点。

修改步骤

  1. 打开项目里的Web.config文件,找到<connectionStrings>节点。
  2. 把原来的Northwind连接字符串替换成上面的格式,重点修改provider connection string里的SQL Server信息。
  3. 保存配置后,先拿SQL Server Management Studio测试一下provider connection string里的内容能不能正常连接到本地Northwind数据库,确保这部分没问题。
  4. 再运行你的Web Forms应用,应该就能解决这两个错误了。

如果还是有问题,可以检查EDMX文件的生成路径是否和metadata里的App_Code.Northwind对应,或者右键EDMX文件选择「Validate」,看看模型有没有其他问题。

内容的提问来源于stack exchange,提问作者Massey

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 03:39:19