با سلام
من پروژه حدیدی رو شروع کردم که در این پروژه از mvc5 استفاده می کنم و در کد خودم در seed کد هایی رو نوشتم و دیتابیس خودم رو روی حالت گذاشتم که اگر مدل تغییر کرد دیتابیس تغسسر کنه اما قسمت seed اصلا اجرا نمیشه حتی زمانی که پروژه رو برای بار اول اجرا میکنم مرورگرم بعد از حتی 20 دقیقه باز هیچی نشون نمیده تا اینکه برنامه رو stop کنم و دوباره اجرا بگیرم
public class ApplicationDbInitializer : DropCreateDatabaseIfModelChanges<ApplicationDbContext> { protected override void Seed(ApplicationDbContext context) { InitializeIdentityForEF(context); var positions = new List<Setting>{ new Setting { Position = "TopA", Limit = 0, Source = 0, Type = "ASC", Charecters = 0}, new Setting { Position = "TopB",Limit = 0, Source = 0, Type = "ASC", Charecters = 0}, new Setting { Position = "TopC",Limit = 0, Source = 0, Type = "ASC", Charecters = 0}, new Setting { Position = "BlockA",Limit = 0, Source = 0, Type = "ASC", Charecters = 0}, new Setting { Position = "BlockB",Limit = 0, Source = 0, Type = "ASC", Charecters = 0}, new Setting { Position = "BlockC",Limit = 0, Source = 0, Type = "ASC", Charecters = 0}, new Setting { Position = "BlockD",Limit = 0, Source = 0, Type = "ASC", Charecters = 0}, new Setting { Position = "SidebarA",Limit = 0, Source = 0, Type = "ASC", Charecters = 0}, new Setting { Position = "SidebarB",Limit = 0, Source = 0, Type = "ASC", Charecters = 0}, new Setting { Position = "SidebarC",Limit = 0, Source = 0, Type = "ASC", Charecters = 0}, new Setting { Position = "SidebarD",Limit = 0, Source = 0, Type = "ASC", Charecters = 0} }; positions.ForEach(x => context.Settings.Add(x)); base.Seed(context); } public static void InitializeIdentityForEF(ApplicationDbContext db) { var userManager = HttpContext.Current.GetOwinContext().GetUserManager<ApplicationUserManager>(); var roleManager = HttpContext.Current.GetOwinContext().Get<ApplicationRoleManager>(); const string name = "nahravan.a@gmail.com"; const string password = "Admin@123456"; const string fullName = "Amir Nahravan"; const string image = "amirnahravan.jpg"; const string roleName = "Administrator"; //Create Role Admin if it does not exist var role = roleManager.FindByName(roleName); if (role == null) { role = new IdentityRole(roleName); var roleresult = roleManager.Create(role); } var user = userManager.FindByName(name); if (user == null) { user = new ApplicationUser { UserName = name, Email = name, FullName = fullName, Image = image }; var result = userManager.Create(user, password); result = userManager.SetLockoutEnabled(user.Id, false); } // Add user admin to Role Admin if not already added var rolesForUser = userManager.GetRoles(user.Id); if (!rolesForUser.Contains(role.Name)) { var result = userManager.AddToRole(user.Id, role.Name); } } }
کد هاتون به نظر درست میاد
نمونه زیر رو ببینید
من هم دقیقا همین کار را کردم اما متد کن جواب نمیدهد
شاید Config هاتون مشکل داره و تنظیمات انتیتی اعمال نشده
میشه بیشتر راهتمایی کنید
Migration را فعال کردید ؟
در console nuget دستور Enable-Migration را اجرا کنید
Enable-Migrations
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)