2010-03-08 14 views
6

Lavoro su un progetto e desidero utilizzare un ORM. Cosa dovrei usare: Linq to Sql o Entity Framework? Linq to Sql offre maggiori opportunità, come vedo, ad esempio il supporto per i tipi di enumerazione. Tuttavia, anche si dice che, Linq to Sql era per giocare e imparare per Linq e la strategia futura di Microsoft si trova su Entity Framework. Quindi quale dovrei usare?Futuro di Linq to Sql e Entity Framework

+0

Quindi possiamo dire che StackOverflow è il prodotto del gioco e dell'apprendimento, perché usa Linq per Sql :) – LukLed

+0

: D: D non esattamente. Non so, ma la gente dice che linq to sql era per giocare e imparare: d: d ma quando le persone iniziano a usarlo pesantemente, la SM ha cambiato la sua strategia e l'ha supportata. Ora Linq to Sql viene utilizzato più del framework Entity http://www.hanselman.com/blog/content/binary/WindowsLiveWriter/3cd0a973d675_9B20/image_thumb.png – erasmus

risposta

6

A quanto ho capito, il supporto per LINQ to SQL non sta andando da nessuna parte, ma la maggior parte delle risorse per lo sviluppo in corso sarà dedicata a LINQ alle entità. Penso che tu stia andando in sicurezza, qualunque direzione assuma la scelta migliore. Se si tratta di LINQ to SQL, andare avanti finché ha tutto ciò che serve, non contare su nuove funzionalità.

4

Se si sta decidendo tra questi 2 e si può usare VS2010, andare definitivamente con Entity Framework 4 ora che supporta correttamente il caricamento lento, gli oggetti POCO e solo i modelli con codice.

2

C'è un post stackoverflow here che parla delle differenze tra i due.

Ciò che è interessante è la risposta di Zack Peterson in cui ha pubblicato un collegamento all'articolo che presenta la domanda "Linq è veramente morto?" Buon articolo di fyi

Ma se stai cercando un ORM, hai guardato NHibernate o SubSonic? Ci sono sicuramente alcuni buoni ORM non MS là fuori.

1

Entity Framework è ricco di funzionalità e viene potenziato e promosso in modo aggressivo da Microsoft.

Linq To Sql è una funzionalità scarsa e non viene promossa da Microsoft.

Linq To Sql ha alcune funzionalità che Entity Framework (v4) non possiede.

I rischi legati all'utilizzo di Linq To Sql su un progetto sono molto superiori ai rischi associati all'utilizzo di EF v4, ma è possibile scegliere entrambe le opzioni.

Per quanto riguarda EF v1/v3.5, provare ad evitarlo (ma è probabile che sia molto più semplice passare da EF 3.5 a EF 4 che da L2S a EF 4).

0

Dovresti provare PLINQO (http://www.plinqo.com). È LINQ to SQL con una tonnellata di miglioramenti. Forse un giorno EF non farà schifo. :-)