首页 > 解决方案 > .NET Code First 将用户登录添加为默认表架构

问题描述

当我使用 Entity Framework Core 将迁移应用到我的在线数据库时,我遇到了一种奇怪的行为。默认情况下,所有表都将我的连接字符串中定义的 UserId 作为默认模式。我知道如何更改它,但我想了解发生这种情况的原因。请注意,本地数据库不会发生这种情况,架构保持为“dbo”。

标签: sql-server.net-coreef-code-firstentity-framework-core

解决方案


您可以使用以下方法为用户设置默认架构:

ALTER USER myUser WITH DEFAULT_SCHEMA [myschema]

dbo因此,如果您愿意,您可以将您的用户设置为具有默认架构。

我猜 dbo 已经设置为您在本地连接的用户的默认架构。

您还可以在 Entity Framework Core 中指定默认架构。请参阅此问题:实体框架核心中的 HasDefaultSchema 在哪里?

请注意,使用不同的用户来应用迁移而不是用于查询等是一个好习惯。


推荐阅读