.net core 用于迁移的不同用户

.net core 用于迁移的不同用户,.net-core,ef-core-2.1,.net Core,Ef Core 2.1,我想跑 dotnet ef database update 当我这样做时,我会得到一个错误,即不允许创建表。这并不完全令人惊讶,因为我不希望网站运行的用户能够创建表。所以,经过一点搜索,我找到了一个解决方案,它基本上创建了一个继承的上下文,并使用了一组不同的凭据。所以,我试过了 dotnet ef database update --context ScaffoldContext 我也犯了同样的错误。我检查了我的连接字符串,是的,它是一个我可以用来创建表的用户。通过SQL CLI确认。因此

我想跑

dotnet ef database update 
当我这样做时,我会得到一个错误,即不允许创建表。这并不完全令人惊讶,因为我不希望网站运行的用户能够创建表。所以,经过一点搜索,我找到了一个解决方案,它基本上创建了一个继承的上下文,并使用了一组不同的凭据。所以,我试过了

dotnet ef database update --context ScaffoldContext
我也犯了同样的错误。我检查了我的连接字符串,是的,它是一个我可以用来创建表的用户。通过SQL CLI确认。因此,我向我的站点用户添加了创建表权限,错误发生了变化。这表明基本连接字符串才是最重要的一个,它正在使用我的提升用户忽略它。我尝试将配置移动到继承的scaffold上下文中的onconfig覆盖中,而不是Startup.cs中的services.AddDbContext。然而,从这个角度来看,这样做似乎是错误的。当我向我的站点用户添加CREATETABLE权限时,我得到了一个不同的异常,即不允许接触dbo

这让我抓狂,我不想使用我的站点用户作为我的迁移用户,似乎我找到的每个例子都来自EF或dotnet core的旧版本。关于如何使用迁移2.1正确管理用户,有人有可靠的指南吗


注意:如果我将连接字符串更改为sa用户,则可以正常工作。因此,迁移将通过。我只是不想每次需要运行迁移时都给我的站点用户完全的权限,或者在连接字符串中交换凭据

为什么不使用提升用户来配置数据库上下文(提升用户仅用于运行迁移)?因为我不知道这是正确的方法,并且在深入研究之前没有花足够的时间学习。我不经常使用迁移,所以很少接触它们。对dotnet core/ef core库的更改意味着存在不准确和不推荐的文档。当我意识到DTF时,我花了5分钟才站起来跑步。@Hammerstein,你对自己太苛刻了,伙计。。。