2015-09-01 13 views
5

Chcę utworzyć witrynę MVC z loginem użytkownika/uwierzytelnianiem itp.Użyj tej samej bazy danych dla moich niestandardowych encji i kontekstu tożsamości?

Używam EF CodeFirst do stworzenia mojej bazy danych.

Jeśli utworzyć nowy projekt MVC i wybierz Uwierzytelnianie: Konta indywidualnego użytkownika, będzie utworzyć nowy projekt z już istniejących IdentityDbContext itp

jestem przeznaczona do dalszego korzystania z tego razem z moim własnym DbContext? Jeden kontekst dla moich jednostek projektów i drugi kontekst dla jednostek tożsamości? Czy to oznacza, że ​​będę miał dwie oddzielne bazy danych, czy mogę nadać im oba te same ciągi połączenia?

Wiem, że może to być pytanie otwarte, ale czy są jakieś dobre zasoby/samouczki dotyczące AspNet Identity?

Jak dotąd jedynie znalezienia środków o aspnet tożsamości samego, a nie, jak zintegrować go z resztą projektu/bazy

Odpowiedz

5

Można określić ten sam ciąg połączenia dla obu context niestandardowych modeli i kontekst osobisty, wszystko co musisz zrobić, to zmienić ciąg połączenia w konstruktorze klasy ApplicationDbContext który rezyduje w IdentityModels.cs pliku tak:

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

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

i tabel potrzebnych do tożsamości zostanie utworzony w tej samej bazie danych jako wasze inne byty, jak dla zasobu, jest dobry zestaw artykuły o tożsamości here.

+0

Czy występują jakieś wady związane z uruchamianiem wielu kontekstów? – mejobloggs

+0

@mejobloggs Nic o czym nie wiem, masz wiele kontekstów, ale ten sam ciąg połączenia, stąd ta sama baza danych, wręcz przeciwnie, myślę, że to ma tę zaletę, że twoje jednostki są łatwiejsze w zarządzaniu. –

+0

Czy jesteś w stanie podać przykład? Nie mogę zrozumieć, że mam wiele kontekstów. Co się stanie, jeśli chcę zapytać o coś, co używa obu kontekstów? Powiedz ... wybierz kanapkę z mycontextu, który należy do użytkownika w identitycontext? – mejobloggs