gpt4 book ai didi

sql-server - EF Core Update-Database 命令为用户创建架构而不是使用 dbo

转载 作者:行者123 更新时间:2023-12-03 16:40:58 25 4
gpt4 key购买 nike

我创建了一个 DbContext使用 EF Core 2.0 并且已经使用 Update-Database 在开发环境中应用了大量迁移在 PM 控制台中。
这些表是使用 dbo 创建的正如我从 EF6 所知道的那样,我的 localDb 上的架构符合预期。

但是,当我申请 Update-Database 时命令到我在 MSSQL 服务器上的生产数据库,它创建了一个名为 Domain\Username 的模式(我的机器上的用户)。当我使用其指定的域帐户运行服务器应用程序时,它无法访问数据库。作为一种解决方法,我与 IT 基础架构人员商量,允许此帐户在我的计算机上执行软件,并通过使用此帐户执行 VisualStudio 来应用迁移。然后为这个特殊帐户创建一个模式,此后它可以从网络服务器应用程序访问数据库。它有效,因为这个特殊帐户是目前唯一需要直接访问数据库的帐户(除了我自己)。但这应该是一个永久的解决方案。

有谁知道解决方案?该数据库的创建方式与之前的 EF6 项目完全相同。
为什么只在将迁移应用到生产系统时才使用每用户模式,而不是在我的开发机器上使用,我如何手动控制模式?
我试过 modelBuilder.HasDefaultSchema("dbo");但这不起作用。实际上它似乎根本没有任何影响。

最佳答案

我遇到了同样的问题,我相信这是由我的 domain\user 引起的。在 MyDatabase -> Security -> Users 下列出.我通过从用户中删除我的帐户(右键单击 - > 删除)解决了这个问题,下次我运行时 update-database它用“dbo”正确地为表格添加了前缀。

enter image description here

关于sql-server - EF Core Update-Database 命令为用户创建架构而不是使用 dbo,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49427962/

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