Я использую идентификатор 2.0 для своего приложения и хочу переместить функции данных на уровень репозитория, например следующий код:
public class ApplicationDbInitializer : DropCreateDatabaseIfModelChanges<ApplicationDbContext> {
protected override void Seed(ApplicationDbContext context) {
InitializeIdentityForEF(context);
base.Seed(context);
}
//Create [email protected] with password=Admin@123456 in the Admin role
public static void InitializeIdentityForEF(ApplicationDbContext db) {
var userManager = HttpContext.Current.GetOwinContext().GetUserManager<ApplicationUserManager>();
var roleManager = HttpContext.Current.GetOwinContext().Get<ApplicationRoleManager>();
теперь проблема в том, что HttpContext
не находится на уровне репозитория, и вы должны передать его на этот уровень. но даже если вы это сделаете, вызов должен исходить из слоя Web
. но вы не хотите включать userManager
в каждый вызов других слоев. любое решение?