我应该让EF CF用用户“dbo”创建我的表吗?

时间:2013-02-27 04:28:36

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

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

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

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

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

1 个答案:

答案 0 :(得分:0)

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

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

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