【问题标题】:Should I let EF CF create my tables with the user "dbo"?我应该让 EF CF 使用用户“dbo”创建我的表吗?
【发布时间】:2023-04-03 23:29:01
【问题描述】:

我刚开始使用 SQL Server,我让实体框架代码首先创建我的数据表。这是其中一张表的 SQL:

CREATE TABLE [dbo].[UserProfile] (
    [UserId]   INT            IDENTITY (1, 1) NOT NULL,
    [UserName] NVARCHAR (MAX) NULL,
    PRIMARY KEY CLUSTERED ([UserId] ASC)
);

我注意到“dbo”,但我不确定这是什么意思。这是否类似于存储在主数据库中的数据?现在我想手动删除/创建表,而不是让 EF 这样做。

谁能告诉我是否有更好的方法来创建表格。例如,我应该用 dbo 以外的东西创建它们吗?我也可以在我的 SQL Server 中创建多个数据库,然后将我的表放在那里吗?

【问题讨论】:

    标签: .net sql-server entity-framework ef-code-first dbo


    【解决方案1】:

    dbo 代表“数据库所有者”。它只是 SQL Server 中的默认架构。默认情况下,EF 代码首先使用dbo 架构。如果您想覆盖,请参阅:

    How can I stop Entity Framework 5 migrations adding dbo. into key names?

    [架构用于对对象进行分组。例如,Report 架构可能包含用于报告的只读视图。]

    【讨论】:

    • 谢谢 - 那么系统通常会将其用户登录信息存储在 dbo 下还是会创建不同的所有者?
    • 登录虽然相关,但是是不同的东西。您将 dbo 模式的访问权限授予用户或角色,然后与登录相关联
    • 谢谢,这正是我需要知道的
    猜你喜欢
    • 1970-01-01
    • 2017-10-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多