2014-10-14 4 views
0

Я использую шаблон по умолчанию для ASP.NET MVC 5 с EF 6. Она формирует модель идентичности какЛеса строительные ApplicationUser

public class ApplicationUser : IdentityUser 
{ 
    public async Task<ClaimsIdentity> GenerateUserIdentityAsync(UserManager<ApplicationUser> manager) 
    { 
     // Note the authenticationType must match the one defined in CookieAuthenticationOptions.AuthenticationType 
     var userIdentity = await manager.CreateIdentityAsync(this, DefaultAuthenticationTypes.ApplicationCookie); 
     // Add custom user claims here 
     return userIdentity; 
    } 
} 

public class ApplicationDbContext : IdentityDbContext<ApplicationUser> 
{ 
    public ApplicationDbContext() 
     : base("DefaultConnection", throwIfV1Schema: false) 
    { 
    } 

    public static ApplicationDbContext Create() 
    { 
     return new ApplicationDbContext(); 
    } 
} 

Я хотел бы, чтобы иметь возможность управлять и редактировать список пользователей, поэтому я смоделировал модель идентификации и добавил следующую строку в классе ApplicationDbContext.

public System.Data.Entity.DbSet<QProj.Models.ApplicationUser> ApplicationUsers { get; set; } 

Я знаю, что это неправильно, но я не уверен, как это решить.

+0

ли вы создать новый класс 'ApplicationUser', или наследовать от' IdentityUser'? –

+0

@BrendanGreen Как видно из приведенного выше кода, ApplicationUser наследуется от IdentityUser. – lhhc

+0

Итак, как вы «помогли» ApplicationUser? Поскольку ваш контекст наследуется от IdentityDbContext, вам не нужно использовать dbset, определенный в вашем классе. –

ответ

1

Эти шаги заставили меня успешно подмостей ApplicationUser: имя

  1. Refactor ApplicationUser к чему-то еще, например, MyAppUser,
  2. Добавить контроллер с EntityFramework, используя модель MyappUser, это будет успешно подмостей MyAppUser,
  3. Леса создадут свойство DbSet<MyAppUser> MyAppUsers для ApplicationDbContext, удалите его
  4. Во вновь созданном контроллере измените все вхождение db.MyAppUsers на db.Users

Тогда вы хорошо идти, надеюсь, что это помогает

+0

Не могли бы вы подробнее объяснить, почему? В частности, шаги 3 и 4. –

Смежные вопросы