Loading...
aivian avatar aivian 51 Точки

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

но не работи. 

Тагове:
0
C# MVC Frameworks - ASP.NET
enevlogiev avatar enevlogiev 1168 Точки

Като цяло нищо чудно грешката да е на съвсем друго място, но от кода който си дал, две неща ми правят впечатление.

1. Защо проверяваш context.Bookmars.Any() ? Ако имаш такива в базата, нищо няма да ти сийдне.

2. В работещия пример създаваш Application User, а в сийда - просто User.

Почти напълно съм сигурен, че грешката е на друго място, но без код мога само да гадая. Все пак провери двете неща.

0
aivian avatar aivian 51 Точки

Проверявам дали има bookmarks, понеже ми изпълнява seed метода всеки път, когато ползвам базата, и ми прави дупликати. После като добавя да се seed - ват bookmarks ще ги добави при първата връзка с базата - от там нататък ще влиза в if - а и ще прекъсне изпълнението на метода. Работещия пример е този: workingProject - от домашното за ASP.NET Identity, имам един MVC проект без Data и Models layers, и миграциите са в този проект, не съм преименувал ApplicationUser. Това е кодът, който не работи: notWorking - тук миграциите са ми в Data проекта и не ми позволява да използвам методите, които ползвам ако миграциите са ми в MVC проекта. Преименувал съм ApplicationUser на User.

0
enevlogiev avatar enevlogiev 1168 Точки

Виж connection string-a в Аpp.Config. Настроен е за MSSQLLocalDB

0
aivian avatar aivian 51 Точки

Не е от това, в конструктора BookmarksContext подавам DefaultConnection - името на връзката от Web.config на MVC проекта. Дебъгнах и установих, че влиза в seed метода, но userManager.Create(); не ми добавя потребителя в базата. Погледнх seed метода от проекта на Ads REST Services git - там се използва същия подход: 

var userStore = new UserStore<ApplicationUser>(context);
 

var userManager = new UserManager<ApplicationUser>(userStore);

 

но при мен не работи, явно изпускам някои конфигурации, не знам кои.

0
28/10/2015 14:15:52
enevlogiev avatar enevlogiev 1168 Точки

Ами най-накрая свалих проекта ти и дебъгнах. Грешката: passwords must be at least six symbols. Сложи по-дълги пароли и ще работи.

Имам предвид userManager.Create(pesho, "123123");

1
28/10/2015 14:33:57
aivian avatar aivian 51 Точки

Да, току - що направих проверка дали е успешно вкарването на потребителя, и ми хвърли тази грешка. PasswordValidator го бях променил за 3 символа в IdentityConfig, явно е трябвало да го настроя и в seed метода.

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.