存在しない、私は自動的に各新しく登録されたユーザーに役割を割り当てることがaccountControllerを聞かせしようとしていたので、私はこのような何かをやってしまってきた役割:と、InvalidOperationException:TestRoleというの
public async Task<IActionResult> Register(RegisterViewModel model, string returnUrl = null)
{
if (ModelState.IsValid)
{
var user = new ApplicationUser { UserName = model.Email, Email = model.Email };
var result = await _userManager.CreateAsync(user, model.Password);
//there is where the error is being raised.
await _userManager.AddToRoleAsync(user, "testRole");
if (result.Succeeded)
{
//here goes some code
//have also adding this line of code inside this if stmt
//await _userManager.AddToRoleAsync(user, "testRole");
}
AddErrors(result);
}
return View(model);
}
私は他のどのような記事でしたStackOverFlowを推奨しますが、このエラーが発生します。 InvalidOperationException:ロールTESTROLEが存在しません。
Microsoft.AspNetCore.Identity.EntityFrameworkCore.UserStore+d__34.MoveNext() System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) Microsoft.AspNetCore.Identity.UserManager+d__104.MoveNext() System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) System.Runtime.CompilerServices.TaskAwaiter.GetResult() WebApplication2.Controllers.AccountController+d__17.MoveNext() in AccountController.cs
注:
- 私は私のプロジェクトでPostgreSQLを使用していたので、私はMSSQLを使用して新しいプロジェクト を作成し、同じエラーになってしまってきました。
- 私は、testRoleがAspNetRolesテーブルにあることを確認しました。だから、どちらにも問題はありません!
TestRoleはAspNetRolesテーブルに存在しますか? – mvermef
もしあなたがPostgreSQLに戻ることにしたのであれば、そこでも動くでしょう – mvermef
ありがとう私のプロジェクトではうまくいきました。私は、正規化されたものがそこの取引遮断器であることに気付かなかった!もう一度ありがとう! – NewProgrammer