2009-11-19 17 views
13

La versione iniziale di Entity Framework wasn't regarded well in the development community. Gli sviluppatori hanno ritenuto che una serie di aspetti non erano disponibili e molti hanno continuato a utilizzare altri ORM, ad esempio LINQ To SQL e . La buona notizia, tuttavia, è che Microsoft ha lavorato duramente su 4.0 release of Entity Framework, che porterà con sé molte correzioni, tra cui il supporto lazy loading e POCO. Molti credevano che la versione iniziale di Entity Framework avrebbe dovuto includere queste funzionalità; tuttavia, è certamente confortante vedere la prova che il team di Entity Framework ha affrontato le preoccupazioni espresse dalla comunità degli sviluppatori.Quali sono i tuoi pensieri su Entity Framework 4.0?

Ora che Visual Studio 2010 beta 2 è uscito da poche settimane, mi sono chiesto come si sentono gli altri sviluppatori sulla prossima versione di Entity Framework. Quali sono i tuoi pensieri?

Mi rendo conto che alcune persone hanno ancora sentimenti negativi nei confronti di Entity Framework. Quando si risponde, si deve supporre che i lettori non sappiano nulla degli ORM alternativi. Si prega di confrontare e confrontare le differenze con altri ORM. Sentiti libero di aprire aree in cui un'alternativa fa qualcosa di meglio. Inoltre, sentiti libero di citare le aree che Entity Framework 4.0 eccelle.

+0

Questo dovrebbe essere riformulato sui pro e contro del framework; così com'è ora, è troppo soggettivo e non è un formato adatto per Q & A. – casperOne

risposta

2

Bene, a prima vista, non ho nemmeno capito il motivo dell'esistenza di EF. Fondamentalmente Linq To SQL sta facendo lo stesso lavoro con molto meno sforzo e supporta un bel po 'di cose che EF non ha. O almeno questo è il caso in .NET 3.5.

In .NET 4, c'è un pettegolezzo che Linq To SQL, anche se rimane lì, sarà un po 'fuori produzione, e solo EF verrà ulteriormente sviluppato. (La decisione che hanno scelto di sviluppare un sistema difettoso al posto di uno funzionante, mi sembra un po 'strana.)

Tutto detto, tuttavia, EF v4 andrà bene, se supporta davvero tutto ciò che sostiene di supportare .

(Tuttavia, non so quali sono i vantaggi Sempre disponibile NHibernate, per esempio.)

+3

Linq to SQL è in realtà il difetto. Perché non può gestire mappature complesse e la parte peggiore: funziona solo con MSSQL. L'EF ha almeno la possibilità di diventare un ORM integrato utile in futuro. (Che potrebbe essere EF4, non l'ho verificato) –

+0

Sì, diventerà un ottimo ORM tra qualche tempo, ma attualmente non supporta cose banali come il metodo Contains o il caricamento lazy. LINQ to SQL non è imperfetto, semplicemente non si rivolge allo stesso pubblico di EF. – Venemo

+0

@Venemo, l'argomento di questo post è Entity Framework 4.0, non quello fornito con .NET 3.5. 4.0 ha un caricamento lento. – senfo

2

Julie Lermann sta facendo un ottimo serie di post sul suo blog di recente che mostra un sacco di bontà su EF4 . Il miglior Credo sarebbe che si passa attraverso quel blog e costruire da soli un parere ...

http://thedatafarm.com/Blog/

1

EF 4 è la versione che ci si aspettava.
Non ero molto contento della prima versione, LinqToSql sembrava davvero avanti a quei tempi. Detto questo, la lotta politica interna ha dato il suo verdetto: L2S è morto ...

Tra le prime versioni di questi due ORM microsoft, abbiamo visto la comunità bloggare molto sul loro comportamento scarso in scenari a più livelli. Quindi non sono molto sorpreso che le due migliori nuove funzionalità siano orientate in questo modo.

Queste due nuove caratteristiche sono totalmente complementari:

- POCO: induce bassi strati accoppiati, ma richiede un certo lavoro per gestire la sincronizzazione tra livelli. - entità auto-tracking: induce strati legato accoppiati ma riduce enormemente la quantità di codice per fornire ...

Per me, la scelta è fatta. Non sceglierei mai la produttività rispetto a un design sano.
Let's rock for POCO!

+0

Beh, non sceglierei mai la produttività rispetto a un design sano, ma il mio capo potrebbe! – Roubachof

Problemi correlati