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

无法检查AspNet Identity Models兼容性:数据库无模型元数据求助

问题说明

模型兼容性检查错误

无法检查模型兼容性,因为数据库不包含模型元数据。仅可对使用Code First或Code First Migrations创建的数据库检查模型兼容性。

Identity模型运行错误

System.InvalidOperationException: 序列不包含任何元素
在 System.Linq.Enumerable.SingleOrDefault(IEnumerable`1 source)
(调用栈后续涉及ASP.NET Identity用户相关的查询操作)

解决方法

针对模型兼容性问题

  • 确认数据库是通过Code First或Code First Migrations创建的:如果是手动搭建的数据库,需手动添加__MigrationHistory元数据表,或切换为Database First开发模式。
  • 若使用Code First,确保已启用Migrations并执行Update-Database命令,生成模型元数据。
  • 检查DbContext配置,确认未手动禁用模型兼容性检查(默认状态为启用)。

针对Identity的“序列不包含任何元素”错误

  • 检查Identity用户表(默认表名AspNetUsers)是否为空,排查代码中调用SingleOrDefault()后未做空值判断的逻辑,补充空值校验。
  • 确认Identity模型主键配置一致:比如自定义用户类继承IdentityUser<TKey>时,主键类型需与数据库表的主键类型完全匹配(默认是string类型,若改为int需同步配置DbContext)。
  • 验证DbContext中Identity相关DbSet的映射配置,确保指向正确的数据库表。
  • 若使用自定义用户/角色类,确认已在DbContext中正确注册并继承对应的Identity基类。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 04:45:38