Seed users от Data project
Как мога да seed - на потребители от Data проекта? Ако миграциите съм ги позволил в Web проекта, с този код успявам да добавя потребители:
var user = new ApplicationUser() | |
{ | |
Email = "admin@admin.com", | |
UserName = "admin@admin.com" | |
}; | |
var userManager = HttpContext.Current.GetOwinContext().GetUserManager<ApplicationUserManager>(); | |
var userCreateResult = userManager.Create(user, "1"); |
но ако миграциите са ми в Data проекта използвам този код:
http://pastebin.com/CXL03pNb
но не работи.
Проверявам дали има bookmarks, понеже ми изпълнява seed метода всеки път, когато ползвам базата, и ми прави дупликати. После като добавя да се seed - ват bookmarks ще ги добави при първата връзка с базата - от там нататък ще влиза в if - а и ще прекъсне изпълнението на метода. Работещия пример е този: workingProject - от домашното за ASP.NET Identity, имам един MVC проект без Data и Models layers, и миграциите са в този проект, не съм преименувал ApplicationUser. Това е кодът, който не работи: notWorking - тук миграциите са ми в Data проекта и не ми позволява да използвам методите, които ползвам ако миграциите са ми в MVC проекта. Преименувал съм ApplicationUser на User.
Виж connection string-a в Аpp.Config. Настроен е за MSSQLLocalDB
Не е от това, в конструктора BookmarksContext подавам DefaultConnection - името на връзката от Web.config на MVC проекта. Дебъгнах и установих, че влиза в seed метода, но userManager.Create(); не ми добавя потребителя в базата. Погледнх seed метода от проекта на Ads REST Services git - там се използва същия подход:
var userManager = new UserManager<ApplicationUser>(userStore);
но при мен не работи, явно изпускам някои конфигурации, не знам кои.
Ами най-накрая свалих проекта ти и дебъгнах. Грешката: passwords must be at least six symbols. Сложи по-дълги пароли и ще работи.
Имам предвид userManager.Create(pesho, "123123");
Да, току - що направих проверка дали е успешно вкарването на потребителя, и ми хвърли тази грешка. PasswordValidator го бях променил за 3 символа в IdentityConfig, явно е трябвало да го настроя и в seed метода.