Tożsamość ASP.NET z bazą danych EF Pierwsze MVC5

Czy możliwe jest użycie nowej tożsamości Asp.net z bazą danych First i EDMX? A może tylko z kodem?

Oto co zrobiłem:

1) Zrobiłem nowy projekt MVC5, a nowa tożsamość utworzyła nowe tabele użytkowników i ról w mojej bazie danych.

2) Następnie otworzyłem plik EDMX bazy danych First i przeciągnąłem w nowej tabeli Użytkownicy tożsamości, ponieważ mam inne tabele, które się z tym wiążą.

3) Po zapisaniu EDMX, generator bazy danych First POCO automatycznie utworzy klasę użytkownika. Jednak UserManager i RoleManager oczekuje klasy User dziedziczącej z nowej przestrzeni nazw Identity (Microsoft.AspNet.Identity.IUser), więc użycie klasy POCO User nie będzie działać.

Domyślam się, że możliwe jest edytowanie moich klas generacji POCO, aby moja klasa użytkownika dziedziczyła po IUser?

Czy też tożsamość ASP.NET jest zgodna tylko z Code First Design?

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++

Aktualizacja: Zgodnie z sugestią Andersa Abla poniżej, tak właśnie postąpiłem. To działa, ale zastanawiam się, czy istnieje bardziej eleganckie rozwiązanie.

1) Rozszerzyłem moją klasę użytkownika, tworząc klasę częściową w tej samej przestrzeni nazw, co moje automatycznie wygenerowane encje.

namespace MVC5.DBFirst.Entity
{
    public partial class AspNetUser : IdentityUser
    {
    }
}

2) Zmieniłem mój DataContext, aby dziedziczył z IdentityDBContext zamiast DBContext. Zauważ, że za każdym razem, gdy aktualizujesz swój EDMX i generujesz ponownie klasy DBContext i Entity, musisz to ustawić ponownie.

 public partial class MVC5Test_DBEntities : IdentityDbContext<AspNetUser>  //DbContext

3) W ramach automatycznie wygenerowanej klasy encji użytkownika należy dodać słowo kluczowe przesłanianie do następujących 4 pól lub skomentować te pola, ponieważ są one dziedziczone z IdentityUser (krok 1). Zauważ, że za każdym razem, gdy aktualizujesz swój EDMX i generujesz ponownie klasy DBContext i Entity, musisz to ustawić ponownie.

    override public string Id { get; set; }
    override public string UserName { get; set; }
    override public string PasswordHash { get; set; }
    override public string SecurityStamp { get; set; }

questionAnswers(9)

yourAnswerToTheQuestion