Le migliori pratiche attuali di Microsoft per la creazione di un livello dati .NET? E la realtà?

13

Il team di sviluppo con cui sto lavorando si sposterà presto a .NET 4.0, tuttavia la libreria di classi di accesso ai dati che utilizziamo utilizza ancora ADO.NET "classic", ovvero SqlDataReader , DataTable e simili. Nel frattempo, sembra che Microsoft e probabilmente il resto del mondo stia andando avanti con Entity Framework e Servizi dati WCF . Non ho trovato nulla su MSDN che indicasse quali tecnologie di accesso ai dati Microsoft considerano le migliori pratiche.

Microsoft ha una preferenza? Quale accesso ai dati utilizza attualmente la maggior parte delle persone? Ci sono buoni motivi per rimanere con ADO.NET classic e non passare a Entity Framework?

    
posta T. Webster 26.05.2011 - 02:50
fonte

3 risposte

4

Nella mia azienda stiamo usando l'EF. È un bel ORM, adatto al nostro piccolo progetto. In realtà le persone usano EF o NHibernate. Entrambe le strutture sono buone. EF ha un ottimo supporto per MS e puoi trovare fantastici strumenti in bundle con Visual Studio. NHibernate è considerato migliore di EF ma esiste una "curva di apprendimento" più ampia, quindi impiegheresti più tempo ad adottarlo.

Penso che, se ti trovi sul classico "Ado.Net", prova l'EF. Creare un progetto semplice e sostituire alcuni dei metodi DAL. Controlla come funziona e come puoi gestire / modificare il codice. Confrontalo con i semplici metodi "SqlDataReader" e decidi quale è meglio. Ricorda che ogni passaggio di tecnologia richiede un po 'di tempo per l'adozione, quindi devi calcolare se questo cambiamento sarà vantaggioso per la tua azienda a lungo termine.

    
risposta data 26.05.2011 - 07:27
fonte
5

Il mio team sta trovando la realtà di passare a EF un po 'di dolore. Non è perché EF è cattivo o non utile, ma lo scopo di convertire i nostri livelli di dati esistenti (piuttosto massicci) da dataset strongmente tipizzati che provengono da ADO.Net framework 2.0 a EF è solo un sacco di lavoro intenso che non guadagna davvero noi niente. Per le nuove cose siamo ancora piuttosto lacerati perché tutti abbiamo opinioni e obiettivi. Per i nostri progetti Silverlight, ci concentriamo esclusivamente sui servizi EF e RIA, ma per i progetti Web (webform e MVC 3) utilizziamo principalmente Linq2Sql.

Stiamo riscontrando meno mal di testa e sviluppo più rapido con Linq2Sql, ma so che Microsoft sta spingendo l'agenda EF (in particolare con i servizi WCF e RIA). Linq2Sql non sta andando da nessuna parte, ma tutti i nuovi giocattoli e le fantastiche funzioni saranno focalizzati su EF. Direi che se hai una scelta iniziale, EF sarebbe un buon punto di partenza. Se sei già a metà stream, non so che sarà molto facile da passare.

    
risposta data 26.05.2011 - 14:13
fonte
3

Entity Framework è il modo migliore per andare. LinqToSql verrà supportato e gestito, ma l'obiettivo di sviluppo futuro è su Entity Framework. Scegliere tra ADO.NET Entity Framework e LINQ to SQL

    
risposta data 26.05.2011 - 03:35
fonte

Leggi altre domande sui tag