查找异步 - 在数据库'master'中拒绝创建数据库权限



我的应用程序遇到了一个非常奇怪的问题......

我不知道为什么当我点击 FindAsync 函数时收到此错误消息:

在数据库"master"中拒绝创建数据库权限。

public async Task<IdentityUser> FindUser(string userName, string password)
{
    IdentityUser user = await _userManager.FindAsync(userName, password);
    return user;
}

这很奇怪,首先我真的没有意识到这样的命令怎么可能尝试创建数据库......没道理!

当我将应用程序切换到其他数据库时出现问题:

该应用程序过去和现在仍在生产数据库和基础结构上正常运行。现在我已经将生产数据备份/还原到开发环境,以便应用一些更改,我开始收到该错误。

这两个应用程序都已绑定...这是一种奇怪的行为...

这真的没有意义,像 FindAsync 这样的命令如何尝试创建数据库?

这背后的原因是,用户管理器将创建一个DbContext来查询用户,并且如果数据库不存在,此上下文将尝试创建数据库。

由于这是由切换数据库引起的,我猜您错过了切换用户管理器使用的数据库。

若要更改该行为,需要将数据库初始值设定项更改为 null(默认值为 CreateDatabaseIfNotExists(:

Database.SetInitializer<YourDbContext>(null);