2017-07-14 51 views
0

我有这样的代码:Asp.NET身份核心IsInRole出现InvalidOperationException:序列包含多个元素

... 
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 
} 

抛出此异常:

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

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

的Visual Studio 2015年

.NET 4.5

微软ASPNET身份睿2.2.1

实体框架6

InvalidOperationException

+0

你有自定义的UserManager实现吗? – DavidG

+0

还是你的数据库可能有一些不好的数据呢? – DavidG

+0

我的IdentityRoles表中存在重复的行。删除这些解决了这个问题。感谢您的帮助! –

回答

1

在IdentityRoles表中有重复的名字:

SELECT * 
FROM [dbo].[IdentityRoles] 

enter image description here

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

+1

您的数据库中出现问题。确保名称列具有唯一约束 – CodeNotFound

相关问题