gpt4 book ai didi

c# - FindAsync - CREATE DATABASE 权限在数据库 'master' 中被拒绝

转载 作者:行者123 更新时间:2023-11-30 20:27:38 35 4
gpt4 key购买 nike

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

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

CREATE DATABASE permission denied in database '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);

关于c# - FindAsync - CREATE DATABASE 权限在数据库 'master' 中被拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48440179/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com