ventajas que framework first ejemplo desventajas code .net entity-framework

.net - que - entity framework select



Entity Framework 4.0: ¿es digno ahora? (7)

A EF4 aún le faltan componentes bastante importantes. Sin embargo, ¿por qué estás esperando el producto perfecto? Nunca va a estar alrededor. EF4 es bastante útil incluso si tiene algunos bordes ásperos.

Puede usar SQL y EF4 lado a lado, por lo que si se encuentra en un escenario en el que EF4 hace un código ineficiente o simplemente no admite algo, siempre puede usar ADO.NET. El marco de la entidad en realidad admite la construcción de entidades a partir de DataRow s, de modo que puede volver a conectar los resultados de una consulta SQL tan excepcional en su flujo normal de programas. Donde EF4 brilla es en los escenarios más normales donde la seguridad de tipos y la inteligencia entran en juego.

Usar el marco de la entidad implica un poco de una curva de aprendizaje, y cuanto antes comience, mejor. A pesar del hecho de que EF4 no ha llegado todavía (en mi opinión, de todos modos), diría: ¡adelante! Úsalo para algunos rincones pequeños de tu aplicación para sentirlo.

Puede construir una conexión de entidad a través de un SqlConnection existente (sin abrir) que es abierto por EntityConnection , y usar TransactionScope le permite compartir una transacción única no distribuida entre EF y ADO. Tomados en conjunto, eso significa que puede usar pequeños bits del EF como reemplazos directos para las consultas normales de ADO, transacciones y todo, como parte de la misma conexión (es decir, sin sobrecarga adicional desde la perspectiva del servidor).

He leído muchas quejas sobre Entity Framework en .NET 3.5 SP1, especialmente sobre su SQL generado de manera ineficaz. Esas quejas me habían impedido estudiar Entity Framework.

Ahora ha salido Entity Framework 4.0, que ofrece muchas promesas. Me pregunto si es realmente un buen ORM ahora, o todavía no? ¿Vale la pena aprenderlo y usarlo en mis proyectos .NET, en lugar de las consultas SQL tradicionales? ¿Has planeado cambiar a EF 4.0 todavía?

Gracias por adelantado.


No. EF no es compatible con la integridad conceptual del sistema (ni con las arquitecturas de n niveles), por lo que terminará sin arquitectura, sino con un montón de componentes con referencias caóticas, una plataforma incorrecta con mecanismos de comunicación incorrectos.


Realmente deberías revisar el blog de Julie Lerman en EF4 , ella está al mismo tiempo entusiasmada con el producto, pero técnicamente correcta. Por mi parte, les puedo decir que ya hemos usado EF4 en más de un par de proyectos de producción con buenos resultados :-)


Si necesita ORM y está limitado a .NET Framework, sí, EF v4.0 es una actualización importante y es mucho mejor que EF v1.0. Pero, por otro lado, todavía es solo una segunda versión y muchos problemas aún no están resueltos. El desarrollo de código primero mencionado (no .edmx) es solo la versión CTP que no está lista para el uso de producción. Pero creo que puede usar EF con éxito en cualquier tipo de proyecto y aún así obtendrá un valor agregado en un desarrollo más rápido.

Entre las limitaciones puedes pensar en:

  • Asignaciones limitadas
  • Peor experiencia con EDMX en entorno compartido
  • Mala experiencia en escenarios desconectados.
  • Sin rastreo incorporado
  • Extensibilidad limitada, sin ganchos.
  • etc.

Una palabra: SI !!

Entity Framework 4.0 contiene una gran cantidad de adiciones y mejoras, y con las plantillas adicionales para POCO y entidades de seguimiento automático, definitivamente está listo para el horario estelar.

Si lo desea, puede incluso ir tan lejos como para definir su "modelo" de EF completo en el código (no * .edmx file) y se parece mucho a Fluent NHibernate. Tienes muchas opciones con EF4, y eso es algo bueno, y una señal de que el equipo de ADO.NET realmente escuchó a la comunidad (y trabajó muy duro para mejorar mucho esas cosas ahora).

Además del libro y blog de Julie Lerman, también debe consultar el blog del equipo ADO.NET EF4 , que contiene sugerencias y consejos muy útiles.

Esta publicación de blog en particular podría ser de tu interés:


No por ahora

Teniendo en cuenta las limitaciones y la experiencia previa con EF en 3.5 sp1, sugeriría no considerar EF hasta que se estabilice. Puede ser de acuerdo con la versión 5, si debería hacerlo. Sería mejor si continúa con su diseño con LinQ a SQL hasta entonces.

Feliz Programación ...


, EFv4 (en .net 4) está en una liga completamente diferente a EFv1 (en .net 3.5 SP1).

EFv1 tenía muchas limitaciones y algunas veces generaba T-SQL horrible.

El TSQL generado por EFv4 está bien en lo que a mí respecta; a veces tiene un poco más de anidamiento con subconsultas de lo necesario, pero eso es algo cosmético que solo afecta la legibilidad humana ...