如何使简单成员资格创建具有默认dbo架构的表

时间:2013-01-16 09:40:32

标签: sql-server asp.net-mvc-4 simplemembership

我首先使用实体​​框架代码与SQL服务器的简单成员资格有问题。

当我跑步时

WebSecurity.InitializeDatabaseConnection( "MyDB", "Users", 
                                          "UserID", "Username", true);

在我自己的开发pc上,它创建了以下表格

dbo.Users
dbo.webpages_Membership
dbo.webpages_Roles
dbo.webpages_UsersInRoles

但是,当我在主机上运行该站点时,它会将表创建为:

myusername.Users
myusername.webpages_Membership
myusername.webpages_Roles
myusername.webpages_UsersInRoles

请, 如何让简单的成员资格提供程序使用默认的dbo架构创建表?

2 个答案:

答案 0 :(得分:2)

您可以在此处找到一种很好的方法,而无需为用户指定默认架构。

您只需要关注this implementation并定义默认架构。 像这样:

[Table("webpages_Membership", Schema = "SCHEMA_NAME")]

答案 1 :(得分:0)

WebSecurity.InitializeDatabaseConnection uses the default schema 
assigned to your Database User to create\access the tables 
for the SimpleMembershipProvider.

因此,您需要更改用户对主机上数据库的默认架构。

您的主机是否允许您为数据库用户设置默认架构?