2009-12-18 9 views

Respuesta

5

Probablemente necesite comenzar prefijando estas preguntas con la versión de la que está hablando. Una buena cantidad de las molestias se han corregido en la próxima versión en .NET 4.0.

Esto es lo que yo diría que después de trabajar con la primera versión durante unos 6 meses usando un tamaño decente DB en SQL 2k8 (más de 40 mesas, con varias mesas cerca de las filas 1 M, y la cantidad decente de tráfico)

  • Falta de propiedades de clave foránea. Es decir, si quiero saber o trabajar con solo el ID de una tabla relacionada, tengo que cargar la entidad real. (solucionado en la próxima versión)
  • Falta de una unión externa fácil como linq a sql cuando se usa DefaultIfEmpty. Reparado en la próxima versión.
  • SQL generado es inferior al óptimo Esto parece estar fijo en la próxima versión, así
  • muy difícil abstraerse de su código de capacidad de prueba y para uso en entornos de varios niveles, pero se puede hacer . Esto también se puede clasificar como el problema POCO que también se ha resuelto.

Hay más, pero estos son mis mejores.

En general, volvería a utilizarlo, pero si está empezando desde cero, por favor ahórrese un poco de dolor y espere la última versión o comience a usar la versión beta si puede.

2

Puede encontrar el walkthroughs for Entity Framework 4.0 useful. Todas las nuevas características discutidas son emisiones molestas de la versión actualmente lanzada para alguien.

Encontré las nuevas funciones TDD/testabilidad y las características de generación de código T4 especialmente interesantes.

-1

Estoy buscando los objetos POCO y el diseño de primer modelo en el EF4 beta muy sexy.

+1

Supongo que lo que consideras que es sexy difiere de la mía ... :) Diré que es emocionante, pero no en un "esperando que mis cialis entren mientras estás sentado en tinas de baño a juego en un campo verde" un poco de camino " –

1

Sobre EF1:

  • SQL generado es horrible. Multiplica las uniones, es 10 veces más grande de lo que podría. Tenía una consulta simple, pero con muchas combinaciones y la generación de esta consulta por EF (no se ejecuta) estaba ralentizando significativamente mi aplicación. No, no pude usar la consulta precompilada. Utilicé view para enfrentarlo. SQL Profiler fue útil.
  • Las claves primarias en las vistas no se reconocen correctamente. Debe modificar el archivo edmx a mano cuando importe la vista o actualice el esquema.
  • Puede diseñar entidades desde la base de datos de manera gráfica, actualizar el modelo desde la base de datos, pero no siempre funciona bien, especialmente cuando cambia los tipos de campo o las claves externas.
  • No puede actualizar una tabla en el modelo, siempre debe actualizar todo el modelo desde db.
  • No puede definir la clase base para sus entidades, ya está definido (EntityObject).Puede usar interfaces, porque las clases se definen como parciales.
  • No POCO, las clases de entidad están fuertemente conectadas al marco.
  • Puede establecer una clave externa mediante EntityReference.EntityKey, pero cuando tenga EntityCollection, prepárese para el viaje de ida y vuelta a db. ¿O me estoy perdiendo algo?
Cuestiones relacionadas