Domanda

Ho un progetto ASP.net (C #) che utilizza un'architettura a tre strati. Ho iniziato a utilizzare Entity Framework nel mio DAL e la questione è in che misura le classi generate da Entity Framework può essere utilizzato nel livello Business Logic?

E 'una buona idea di utilizzare direttamente o devo creare il mio oggetti di business e la mappa a loro da Entity Framework (DB-> O / RM-> BOS)?

È stato utile?

Soluzione

A mio parere, gli oggetti EF sarebbero mappati al tuo. Questo ha un costo di sviluppo più elevato, ma dà il vantaggio della persistenza ignoranza e disaccoppiamento. Questo disaccoppiamento può tradurre l'agilità notevole e il risparmio del mondo reale nel lungo periodo, dovrebbe il business necessario passare a una soluzione di persistenza diversa. Senza il disaccoppiamento, gli oggetti EF possono diventare profondamente radicate negli strati BLL e anche di presentazione, che richiede un enorme refactoring. In tal caso, l'attività potrebbe anche non considera la commutazione soluzioni di persistenza, che potrebbe causare la struttura sia meno competitivi.

La decisione di raccogliere questo beneficio a costo di sviluppo più alto dipende dalla quantità di rischio del business è disposto a prendere. Vi suggerisco di consultare con i commissari di progetto e utilizzare il vostro giudizio migliore di interpretare i loro obiettivi strategici in modo tecnico.

Altri suggerimenti

Dovrebbe essere abbastanza ragionevole utilizzare le classi generate da Business Objects. Le classi generate sono parziali in modo da poter facilmente estendersi a vostro piacimento. A volte mi trovo un'opzione più bello però di utilizzare le interfacce.

Ho appena iniziato il EF 2.0 (in .Net 4.0 beta 2) e ha la possibilità di utilizzare clases POCO come entità EF. vale a dire È ora possibile utilizzare persistenza classi ignoranti in EF 2.
Credo che questo non è ancora del tutto pronto, come non ho potuto seguire la presentazione da PDC 2009 quando si lavora in Visual Studio 2010 Beta 2, ma tenere sotto controllo per questo a ADO.Net blog del team .

Si consiglia di guardare il Persistence Ignorance (POCO ) adattatore per Entity Framework . Questo è un progetto open-source da un membro della squadra EF che porta il supporto POCO EF 1.0. EF 4.0 avrà il supporto POCO out-of-the-box, ma questo progetto serve come misura tappabuchi fino .NET 4.0 gocce nel 2010.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top