2017-07-14 28 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

相關問題