我正在尝试
dotnet ef database update
这样做时,我收到关于不允许创建表的错误。完全不奇怪,因为我不希望用户在我运行的网站下能够创建表。因此,经过一番搜索,我找到了一个解决方案,该解决方案基本上创建了一个继承的上下文,并使用该上下文使用了一组不同的凭据。所以,我尝试过;
dotnet ef database update --context ScaffoldContext
我也遇到同样的错误。我检查了我的连接字符串,是的,可以使用它来创建表的用户。通过SQL CLI确认。因此,我向站点用户添加了CREATE TABLE特权,并且错误发生了变化。暗示基本连接字符串很重要,并且忽略了使用我的提升用户的权限。我尝试将配置移到继承的脚手架上下文中的OnConfiguring替代中,而不是Startup.cs中的services.AddDbContext。但是,查找此内容似乎是错误的方法。当我向站点用户添加CREATE TABLE特权时,我遇到了另一个与不允许触摸dbo有关的异常。
这让我发疯了,我不想将站点用户用作迁移用户,而且看来我发现的每个示例都来自较早版本的EF或dotnet core。是否有人对如何使用2.1迁移正确地管理用户有任何可靠的指导?
注意:如果我将连接字符串更改为sa用户,则可以正常工作。因此迁移将继续进行。我只是不想为我的站点用户赋予全部特权,或者不想在每次需要执行迁移时在连接字符串中交换凭据。