ASP.NET 5, voleva separare l'entità framework da Web Project

asp.net-core asp.net-core-mvc entity-framework-core

Domanda

Sto cercando di ottenere una struttura dell'applicazione inferiore

App.Model - UserModel - OrderModel

App.Service - UserService - IUserService

App.Entity - DbContext

Sito Web - WebAPI: richiama il servizio

La maggior parte degli esempi di applicazioni ASP.NET 5 inizializza il framework di entità nel file di avvio del sito Web. come .AddEntityFrameowrk () .. ecc.

Devi sapere come possiamo separare l'Entità in un progetto separato e come iniziamo il DBContext se stiamo richiamando il repository dal progetto di servizio. (Poiché il file di avvio non è disponibile per la libreria di classi)

Risposta popolare

Nei progetti precedenti, ho adottato l'approccio di mantenere più progetti ASP.NET in un'unica soluzione (o più soluzioni). Questo ti darà la possibilità di rimuovere le dipendenze EF dalla tua applicazione web e far sì che l'applicazione web parli solo con l'API che gestisce tutti gli EF

In passato, ho creato un progetto dedicato "dominio" che contiene tutti i modelli e può essere referenziato sia dall'applicazione web che dai progetti API.

Quindi la struttura del progetto sarebbe simile a questa

Progetto di dominio: contiene solo classi c # che rappresentano il tuo modello. Inizia con un progetto 'vuoto'

API: contiene la tua API web. Utilizza EF per interagire con il database. Personalmente organizzerei personalmente le API per il tuo modello, ma questa è una scelta personale. In questo momento, in ASP.NET core 1.0 RC1, il modello di API Web è scadente, quindi inizierei con l'intera applicazione "web application" e rimuoverò tutte le visualizzazioni, i controller, gli script predefiniti ecc. Fa riferimento al progetto del dominio in modo che sia possibile impalcatura i controller API dal modello

Applicazione Web: il tuo progetto di applicazione web principale. Inizia con il modello di 'web application' ma usa HttpClient I il tuo controller per usare l'api per le interazioni di dati. In passato ho creato una serie di "classi di helper api" statiche per semplificare questo compito, ma è di nuovo una scelta di stile personale. Fa riferimento al progetto del dominio in modo che sia possibile convertire le risposte JSON in entrata al modello .net completo



Related

Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow