如何生成我的数据库中的会员供应商表

我想抓住mvc4,我刚刚创建了一个新的使用asp.net mvc4的Internet Application。我想知道如何在asp.net mvc4中生成SimpleMemberShipProvider。他们在名为SimpleMembershipInitializerFilter文件夹中添加了一个新类,但我不知道如何使用该类生成表。如何生成我的数据库中的会员供应商表

在此先感谢。

回答:

如果您创建了数据库,并将连接字符串设置为web.config,那么当您第一次访问Account/Login时,它将为您生成表格。请注意,并非所有的表会产生,直到你第一次通过“注册”创建一个用户,那么你也将看到表开始webpages_

编辑如果您使用的是互联网应用模板MVC4那么它默认模板将在App_Data文件夹中设置一个localdb。这将在您第一次运行应用程序并调用数据库时创建。 (结束编辑)

查看我的回答here to "How do I use my own database with SimpleMembership and WebSecurity? What is MVC4 security all about?"以获得SimpleMembership的概述以及它是如何融合在一起的。

请注意,如果你不叫Account/Login,则数据库将无法初始化,因此在某些情况下,你需要自己初始化它,你可以在使用的global.asax.cs以下行的Application_Start,或请参阅我的回答here to "ASP.NET MVC 4, The “WebSecurity.InitializeDatabaseConnection” method can be called only once"了解更全面的情况。

if (!WebSecurity.Initialized) 

{

WebSecurity.InitializeDatabaseConnection("myConnectionStringName", "Users", "UserId", "Email", autoCreateTables: true);

}

或者,也可以作为一个global filter,这将具有与使用的global.asax.cs上面的代码相同的效果寄存器InitializeSimpleMembership

InitializeSimpleMembership只是为您执行上述代码行,但因为它只是在提供的模板中装饰AccountController,所以只有在访问该控制器上的某个操作时才会执行该操作。这是我们大多数人第一次绊倒的地方。 MVC Internet应用程序模板仅提供了使用它的示例方式。您需要实际确保它在整个站点中使用,以便拥有生产准备系统。


脚注:

既然你已经使用SimpleMembership它是值得了解的直线距离,它最适合在code-first scenario,并且它是最容易立即把用户配置模型类到开始您自己的DbContext,您正在使用代码中的所有其他模型;这会在稍后为您预防很多问题。我会离开你单独提出更多的问题,因为它有点偏离主题。

请注意,您可以为您的DbContext和SimpleMembership使用相同的连接字符串名称(默认情况下,这在Visual Studio项目模板中称为“DefaultConnection”)。

回答:

1)如果你在web.config中提供了一个默认连接字符串,成员资格会在第一次登录时创建数据库automacaly!

2)如果您不提供任何连接,应用程序将在machine.config中查找默认连接,以在SQL实例或映射到其中的其他位置创建数据库。

3)如果你需要创建一个自定义的MembershipProvider看看这里:SimpleMembership, Membership Providers,

希望这可以帮助您!

以上是 如何生成我的数据库中的会员供应商表 的全部内容, 来源链接: utcz.com/qa/264148.html

回到顶部