2010-03-08 16 views
6

Trabajo en un proyecto y quiero usar un ORM. ¿Qué debería usar: Linq to Sql o Entity Framework? De acuerdo con Linq to Sql, hay más oportunidades, como veo, por ejemplo, soporte para tipos de enumeración. Sin embargo, también se dice que, Linq a Sql fue para jugar y aprender para Linq y la estrategia futura de Microsoft recae en Entity Framework. Entonces, ¿cuál debo usar?Future of Linq to Sql and Entity Framework

+0

Así que podemos decir que StackOverflow es producto de jugar y aprender, porque utiliza Linq a Sql :) – LukLed

+0

: D: D no exactamente. No sé, pero la gente dice que linq to sql era para jugar y aprender: d: d pero cuando la gente comenzó a usarlo mucho MS cambió su estrategia y la apoyó. Ahora Linq to Sql se usa más que Entity framework http://www.hanselman.com/blog/content/binary/WindowsLiveWriter/3cd0a973d675_9B20/image_thumb.png – erasmus

Respuesta

6

Según tengo entendido, el soporte para LINQ to SQL no va a ningún lado, pero la mayoría de los recursos para el desarrollo continuo se dedicarán a LINQ to Entities. Creo que estás a salvo yendo a cualquier dirección que parezca la mejor opción. Si es LINQ to SQL, consígalo siempre que tenga todo lo que necesita, no cuente con nuevas funciones.

4

Si está decidiendo entre esos 2, y puede usar VS2010, definitivamente vaya con Entity Framework 4 ahora que admite correctamente la carga diferida, los objetos POCO y los modelos con solo código.

2

Hay un postizo de stackoverflow here que habla sobre las diferencias entre los dos.

Lo que es interesante es la respuesta de Zack Peterson donde publicó un enlace al artículo que posee la pregunta "¿Realmente está muerto Linux a SQL?" Buen artículo de FYI.

Pero si buscas un ORM, ¿has mirado NHibernate o SubSonic? Definitivamente hay unos pocos ORM no MS buenos por ahí.

1

Entity Framework es rico en funciones y está siendo mejorado y promocionado agresivamente por Microsoft.

Linq To Sql es una característica pobre y no está siendo promovido por Microsoft.

Linq To Sql tiene algunas características que Entity Framework (v4) no tiene.

Los riesgos de usar Linq To Sql en un proyecto son mucho mayores que los riesgos de utilizar EF v4, pero puede elegir cualquiera de las dos opciones.

En cuanto a EF v1/v3.5, intente evitarlo (pero es probable que sea mucho más fácil actualizar de EF 3.5 a EF 4 que de L2S a EF 4).

0

Debe intentar PLINQO (http://www.plinqo.com). Es LINQ to SQL con una TONELADA de mejoras. Tal vez algún día EF no apestará. :-)

Cuestiones relacionadas