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

EF Database First访问DbSet报Sequence contains more than one matching element错误

问题根源排查

你的错误是EF6和EF Core包引用冲突导致的,直接删除项目中对EntityFramework(版本6.4.4)的包引用即可解决问题。

具体分析

  • 你同时引用了两个完全独立的EF框架,核心逻辑存在冲突:
    • 旧版EntityFramework 6.4.4:仅适配.NET Framework生态,你项目配置的imports导入net4x版本就是为了兼容这个包,但它和EF Core的核心类、扩展方法存在大量命名空间、方法签名重复
    • 新版Microsoft.EntityFrameworkCore.*系列包:是.NET Core/.NET 5+专用的EF版本
  • 两个框架的QueryableMethods静态类存在同名方法,EF Core初始化时反射获取方法就会触发Sequence contains more than one matching element的异常,完全匹配你给出的报错栈。

修复步骤

  1. 编辑你的Server.csproj文件,删除EntityFramework 6.4.4对应的包引用行
  2. 清理项目缓存:执行dotnet clean,再手动删除项目根目录下的obj、bin文件夹
  3. 重新还原包:执行dotnet restore
  4. 运行项目验证,访问DbSet的报错会直接消失

额外建议

你当前使用的是.NET 6 SDK,EF Core 5版本和.NET 6虽然兼容,但更推荐你把所有Microsoft.EntityFrameworkCore.*系列包统一升级到6.x版本,和SDK版本对齐,避免其他潜在的兼容问题。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 04:45:02