C# dbo.Sometable中的dbo是什么
在我的本地服务器或专用服务器上,当我创建表时,会看到如下表名:C# dbo.Sometable中的dbo是什么,c#,sql-server,entity-framework,C#,Sql Server,Entity Framework,在我的本地服务器或专用服务器上,当我创建表时,会看到如下表名: dbo.Foo 由于我从某个plesk环境获得了一个数据库帐户,因此创建的表的名称为: mydbuser.Foo 前缀对我的代码有什么影响?或者,如果我从备份中创建了一个表/还原了一个表,我是否应该期待奇怪的结果?dbo是在创建表时分配给表的默认模式,而不是显式分配模式。数据库模式是对对象(如表、视图、存储过程等)进行逻辑分组的一种方法。您可以阅读有关模式的更多信息 前缀对我的代码有什么影响 如果您没有在代码中指定schema,
dbo.Foo
由于我从某个plesk环境获得了一个数据库帐户,因此创建的表的名称为:
mydbuser.Foo
前缀对我的代码有什么影响?或者,如果我从备份中创建了一个表/还原了一个表,我是否应该期待奇怪的结果?dbo是在创建表时分配给表的默认模式,而不是显式分配模式。数据库模式是对对象(如表、视图、存储过程等)进行逻辑分组的一种方法。您可以阅读有关模式的更多信息 前缀对我的代码有什么影响 如果您没有在代码中指定schema,那么它将采用dbo作为默认值。虽然如果您有一个模式不是dbo的表,那么您也必须在代码中指定,否则它将不会执行 如果我从备份中创建一个表/还原一个表,我是否应该期待奇怪的结果 模式不是邪恶的。如果您正确指定了它们,那么一切都应该正常。dbo 它是模式。如果没有为用户帐户定义默认模式,SQL Server将假定dbo是默认模式 依照 SQLServer2005引入了数据库模式的概念和 数据库对象和用户所有权之间的分离。物件 由数据库用户拥有的不再与该用户绑定。对象 现在属于一个模式——一个可以容纳许多数据库的容器 物体。架构所有者可以拥有一个或多个架构。这个概念 创建在数据库中公开数据库对象的机会,以便 消费,但保护他们不受修改,直接访问使用 查询技术不好,或被所有者以外的用户删除 要创建自己的架构,可以使用以下脚本:
CREATE SCHEMA [EnterSchemaNameHere] AUTHORIZATION [dbo]
您可以使用它们对表进行逻辑分组,例如,为“财务”信息创建一个schama,为“个人”数据创建另一个schama。然后,您的表将显示为:
金融.富
个人的,福