2008-12-08 28 views
7

Me preguntaba qué opinaron las personas sobre la decisión de admitir Entity Framework sobre LINQ-to-SQL? Tengo una aplicación que estoy desarrollando originalmente en LINQ-to-SQL. La encontré la solución perfecta para nuestra aplicación.Pensamientos sobre Entity Framework

Al intentar portar a Entity Framework me sorprendió lo difícil que era. En mi humilde opinión, ni siquiera está cerca de estar listo para el horario de máxima audiencia. Sin cargas perezosas, sin POCO, dependencia horrible de la herencia. Lo encontré en gran parte inutilizable en mi caso y decidí seguir con LINQ-to-SQL hasta que de alguna manera este Entity Framework pueda ser más pulido.

¿Alguien más tiene una experiencia similar con él?

Respuesta

4

Esa es prácticamente mi opinión. Ver mi respuesta anterior here. Esta otra pregunta no fue específicamente sobre los problemas en EF, pero sí: tiene unos pocos fallos técnicos. Por ejemplo (además de sus opciones existentes):

  • no hay soporte para Expression.Invoke (re-uso de los árboles de expresión para formar una expresión más compleja)
  • no hay soporte para mesa-UDF, que se puede utilizar para crear bien definidas, métodos exigibles en la base de datos que todavía puedan componerse con el tipo/Salto/etc tomar

LINQ a SQL maneja tanto bien ...

+0

¿Alguna idea sobre EF4? Tengo curiosidad por saber si resuelve tus problemas con el original. –

+0

@Richard - No (todavía) tuve la oportunidad de volver a evaluar. –

+0

He pasado a PLINQO para tratar de compensar parte del espacio. Entonces, EF4 no muestra mucha mejoría. – Jiyosub

2

Creo que depende de la plataforma de la aplicación. Cuando mi equipo se propuso crear una nueva aplicación ASP.net, queríamos ir con EF ... pero después de jugar un poco con él, fuimos con Linq-To-SQL. En un entorno web, gestionar el contexto de datos L2S fue mucho más fácil. Además, nos gustó que las entidades L2S expongan el campo ID original (por ejemplo, EmployeeTypeId), a diferencia de EF, que solo tendría la entidad hija expuesta. En un entorno web, muchas veces no necesita esa información adicional, el Id es suficiente porque es una referencia a una lista desplegable que ya se ha cargado (y probablemente en caché).

+0

No exponer las identificaciones fue otro problema que tuve. Además, si desea admitir muchos a muchos, debe diseñar una tabla solo con los ID y sin ningún otro campo, o no gestionaría la relación. – Jiyosub

1

L2S es más maduro de lo que es hecho para.

Y todavía consideraré EF como una versión BETA.

hay mucho debate en torno a EF, puede encontrar muchas más preguntas relacionadas.

1

Estoy de acuerdo. Hay muchos errores y fallas de diseño en Entity Framework v1 (la versión de .net 3.5 SP1) para hacer que se pueda usar en el desarrollo del mundo real. EFv4 parece más prometedor ...

1

He oído que L2S está yendo rápidamente por el camino del dodo. Hay un poco de charla sobre un cambio a código abierto, pero el grupo ADO.NET en Microsoft planea impulsar todos sus esfuerzos hacia EF ...

Triste también, porque me parece muy fácil trabajar con Linq2SQL y la idea de portar todo mi código me pone un poco enfermo.

Update on LINQ to SQL and LINQ to Entities Roadmap