asp.net-mvc – 如何使用Entity Framework和Membership表初始化
发布时间:2020-12-15 18:37:16 所属栏目:asp.Net 来源:网络整理
导读:我有一个使用实体框架5.0代码优先的MVC4 Web应用程序。 在Global.asax.cs中,我有一个引导程序,初始化Entity.Database,强制数据库被初始化并初始化成员资格的数据库。代码是这样的: System.Data.Entity.Database.SetInitializer(new DatabaseContextIniti
我有一个使用实体框架5.0代码优先的MVC4 Web应用程序。
在Global.asax.cs中,我有一个引导程序,初始化Entity.Database,强制数据库被初始化并初始化成员资格的数据库。代码是这样的: System.Data.Entity.Database.SetInitializer(new DatabaseContextInitializer()); Database.Initialize(true); WebSecurity.InitializeDatabaseConnection(DEFAULTCONNECTION,"UserProfile","UserId","UserName",autoCreateTables: true); DatabaseContextInitializer目前很简单: public class DatabaseContextInitializer : DropCreateDatabaseIfModelChanges<DatabaseContext> { protected override void Seed(DatabaseContext dbContext) { base.Seed(dbContext); db.Set<Workout>().Add(new Workout {Id = 1,Name = "My First workout user1"}) } } 问题是我无法创建用户到成员资格: WebSecurity.InitializeDatabaseConnection(DEFAULTCONNECTION,autoCreateTables: true); 因为我有一个问题,数据库没有创建。如何使用Entity Framework 5.0和Asp.Net MVC 4为数据库初始化一些默认用户? 解决方法
请查看
following article的推荐方法,使??用迁移种植您的数据库。
这里是步骤: >使用Internet模板创建一个新的ASP.NET MVC 4应用程序 enable-migrations >这将创建一个?/ Migrations / Configuration.cs文件,您可以在其中种子您的数据库: using System.Data.Entity.Migrations; using System.Linq; using System.Web.Security; using WebMatrix.WebData; internal sealed class Configuration : DbMigrationsConfiguration<MvcApplication1.Models.UsersContext> { public Configuration() { AutomaticMigrationsEnabled = true; } protected override void Seed(MvcApplication1.Models.UsersContext context) { WebSecurity.InitializeDatabaseConnection("DefaultConnection",autoCreateTables: true); if (!Roles.RoleExists("Administrator")) { Roles.CreateRole("Administrator"); } if (!WebSecurity.UserExists("john")) { WebSecurity.CreateUserAndAccount("john","secret"); } if (!Roles.GetRolesForUser("john").Contains("Administrator")) { Roles.AddUsersToRoles(new[] { "john" },new[] { "Administrator" }); } } } >在web.config中指定memebership和角色提供程序: <roleManager enabled="true" defaultProvider="SimpleRoleProvider"> <providers> <clear/> <add name="SimpleRoleProvider" type="WebMatrix.WebData.SimpleRoleProvider,WebMatrix.WebData"/> </providers> </roleManager> <membership defaultProvider="SimpleMembershipProvider"> <providers> <clear/> <add name="SimpleMembershipProvider" type="WebMatrix.WebData.SimpleMembershipProvider,WebMatrix.WebData" /> </providers> </membership> >在包管理器控制台中运行迁移: update-database -verbose (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 通过ASP.NET调用的长时间运行任务的模式
- asp.net-mvc – 创建一个texarea帮助器,它将视图的内容作为
- asp.net-mvc – 带可选参数的MVC路由
- asp.net-mvc-3 – MVC默认重定向错误页面并不总是显示
- asp.net-mvc – 如何在ASP.NET MVC w / VB.NET中添加id HTM
- asp.net-mvc – 带有ASP.NET标识的MVC 5 – 用户登录时获取
- asp.net – WebAPI在控制器上找不到任何操作
- asp.net – 如何通过web.config文件中的Access-Control-All
- ELMAH在ASP.NET vNext?
- asp.net-mvc – 在ASP.NET MVC中保护NullReferenceExceptio