devo creare dbContext per i miei modelli o utilizzare ApplicationDbContext esistente?

4

Sto sviluppando un'applicazione web usando ASP.NET Core. Quando utilizzo l'applicazione Web modello di progetto con Authentification:

Classe ApplicationDbContext generata:

public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
    {
        public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options)
            : base(options)
        {
        }            
    }

Posso usarlo per i miei modelli, ma forse è meglio creare il mio DbContext e non mischiare i miei modelli con l'autenticazione dell'utente?

    
posta Alexan 29.11.2016 - 00:46
fonte

2 risposte

3

Come sempre, dipende.

Si tratta di un'applicazione autonoma che i tuoi clienti implementeranno sui propri server? In tal caso, aggiungere un dt di business a ApplicationDbContext potrebbe avere un senso.

D'altra parte, se stai costruendo un'applicazione aziendale, potresti voler riutilizzare l'autenticazione su molte delle tue app web. In tal caso, probabilmente vorrai separare sia l'autenticazione che i modelli di business nelle proprie librerie di classi.

    
risposta data 29.11.2016 - 12:02
fonte
2

Guardo sempre ApplicationDbContext allo stesso modo di SqlMembershipProvider , non ho mai aggiunto il mio codice di accesso ai dati.

ApplicationDbContext è qualcosa correlato all'identità di asp.net e non alla mia applicazione o logica aziendale, quindi separo sempre i contesti, ho la mia entità utente e collego l'altro IUser a questa entità.

Funziona bene con me nel caso in cui ho bisogno di cambiare l'intero framework di sicurezza con qualcos'altro

    
risposta data 29.11.2016 - 13:51
fonte