ASP.NET CORE Identity UserManager CreateAsync架构错误



当AccountController.Register((中的UserManager.CreateAsync(用户,密码(用于创建新注册的用户时,它总是出错,因为它试图将记录插入mydomain\myNetworkId架构下的AspNetUsers表中。AspNetUsers表位于";共享的";架构。是否有一种方法可以将标识基础结构配置为使用指定的架构?我的数据库中有4个模式(应用程序、管理、共享和临床(。

SqlException: Invalid object name 'myDomainmyNetworkID.AspNetUsers'.
Microsoft.Data.SqlClient.SqlCommand+<>c.<ExecuteDbDataReaderAsync>b__164_0(Task<SqlDataReader> result)

[HttpPost]
[ValidateAntiForgeryToken]
public async Task <IActionResult> Register(RegisterViewModel registerModel) {
if (!ModelState.IsValid) {
return View();
}
CustomIdentityUser user = _mapper.Map<CustomIdentityUser>(registerModel);
var result = await _userManager.CreateAsync(user, registerModel.Password);
if (!result.Succeeded) {
foreach(var error in result.Errors) {
ModelState.TryAddModelError(error.Code, error.Description);
}
return View(registerModel);
}
await _userManager.AddToRoleAsync(user, "Visitor");
return RedirectToAction(nameof(HomeController.Index), "Home");
}

我意识到我在dbContext.OnModeCreating((中的myDomain\myNetworkName架构中设置了默认架构;共享的";就像下面一样,UserManager现在可以在正确的模式中创建用户。

protected override void OnModelCreating(ModelBuilder ModelBuilder({modelBuilder.HasAnnotation("Relational:DefaultSchema","shared"(;/*重新运行EF Power Tools后,请确保将默认模式更改为共享*/

最新更新