【问题标题】:Asp.NET Identity Core IsInRole InvalidOperationException: Sequence contains more than one elementAsp.NET Identity Core IsInRole InvalidOperationException:序列包含多个元素
【发布时间】:2017-12-19 14:05:34
【问题描述】:

我有这个代码:

...
var _context = new MyDbContext();     
var _userManager = new UserManager<User>(new UserStore<User>(_context));
...
public bool IsInRole(string userId, string roleName)
{
    return _userManager.IsInRole(userId, roleName); //InvalidOperationException
}

抛出此异常:

在 mscorlib.dll 中出现“System.InvalidOperationException”类型的异常,但未在用户代码中处理

附加信息:序列包含多个元素

Visual Studio 2015

.NET 4.5

Microsoft AspNet Identity Core 2.2.1

实体框架 6

【问题讨论】:

  • 你有自定义的 UserManager 实现吗?
  • 或者你的数据库中可能有一些坏数据?
  • 我的 IdentityRoles 表中有重复的行。删除这些解决了问题。感谢您的帮助!
  • 没问题,但下次等待建议可能添加答案的人,以便他们获得认可:)

标签: c# asp.net entity-framework-6 asp.net-identity .net-4.5


【解决方案1】:

IdentityRoles 表中有重复名称:

SELECT *
FROM [dbo].[IdentityRoles]

删除不必要的行解决了问题。

【讨论】:

  • 您的数据库出现问题。确保 Name 列具有 UNIQUE CONSTRAINT
猜你喜欢
  • 2013-02-07
  • 1970-01-01
  • 2015-09-15
  • 2014-06-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-02-19
  • 1970-01-01
相关资源
最近更新 更多