update query framework data consulta columns .net linq-to-sql entity-framework

.net - query - ¿Alguien más se arrepiente de usar Entity Framework?



sql command entity framework (6)

Tengo un proyecto que implementó Linq To SQL y estuve bastante contento con él. Durante bastante tiempo, el mayor problema fue que el diseñador tenía errores.

Desafortunadamente, mi proyecto ahora requiere herencia de tablas múltiples, y Linq to SQL no lo admite. Decidí cambiarme a Entity Framework cuando supe que es compatible con herencia múltiple y parece ser la dirección que Microsoft está tomando. Pero ahora estoy empezando a lamentar esa decisión.

Por ejemplo, llamando a Load ()? WTF? ¡Si no quisiera esos datos, no los estaría pidiendo! Descubrir todas las peculiaridades anales de Entity Framework se está convirtiendo en una espina enorme para mi lado.

De todos modos ... ¿hay una luz al final del túnel? Cuando termine, ¿valdrá la pena usar EF o he tomado una decisión terrible?

Finalmente, me gustaría preguntar: ¿dónde ha estado Microsoft con todo el asunto de ORM? El ActiveRecord de Rails ha estado funcionando maravillosamente y simplemente por años.


Bueno, el VS2010 beta está disponible ; ¿Podría encender una máquina virtual y ver si EF en 4.0 se adapta mejor a usted?

Personalmente, me he quedado con LINQ-to-SQL por ahora, pero probablemente porque todavía no he necesitado ninguna de las otras características.


De hecho, estoy ansioso por usar Entity Framework en su versión v4, y espero que sea Próximamente ahora. Por supuesto, en nuestro caso, se acompaña de deshacerse de un ORM que no es compatible, lo que es peor que la plaga, ¡por lo que EF v4 parece un gran envío para mí! :-)

Bagazo


Estoy absolutamente de acuerdo. La carga perezosa es lo que mató el marco de la entidad para mí. Simplemente abre una lata de gusanos con entidades adjuntas y separadas a la instancia de contexto. Realmente no quiero preocuparme por estas cosas. Pero entonces, ¿quién no ha trabajado con un producto a medias de Microsoft antes? Me alegro de que vayan a arreglar las cosas en una nueva versión. Hasta entonces L2S parece ser tu mejor apuesta.


No estás solo en tu dolor. Ha habido una serie de publicaciones en el blog de ADO.NET que tratan las mejoras que se están realizando en Entity Framework en .NET 4.0. Parecen ser bastante importantes, pero si son o no suficientes para sus necesidades, solo usted puede juzgar.


Para un seguimiento:

Por el momento me he rendido en Entity Framework. La reescritura del código ha sido estresante y no estoy nada contento con el resultado ... en gran parte debido a la falta de soporte de carga perezosa.

Decidí volver a Linq to SQL y probar la herencia de una sola tabla por ahora. No tenemos muchos tipos de niños, por lo que, por el momento, debería ser una solución fea pero aceptable. Cuando se lance la nueva versión de VS y Entity Framework, consideraré cambiar nuevamente en ese momento porque los cambios para la nueva versión parecen prometedores.


Por mi parte, me ha decepcionado mucho con EF v1.0. Prometía mucho, pero en realidad era extremadamente restrictivo, tenía un desempeño horrible y no era compatible con las aplicaciones e infraestructuras existentes.

Dicho esto, EF v2.0 parece muy prometedor. Microsoft ha abierto el proceso de diseño a las masas, permitiendo a aquellos de nosotros que deseamos que EF tenga éxito y ver si encajan en la amplia variedad de escenarios de uso que realmente deberían ofrecer nuestras sugerencias, consejos y opiniones.

Si está interesado en ver los resultados de este esfuerzo, o desea aportar su propia opinión, debe consultar el blog de diseño de EF, aquí: http://blogs.msdn.com/efdesign/

Al final, si Microsoft aún no es capaz de producir un ORM flexible que se ajuste a una gran variedad de escenarios, siempre hay NHibernate. He estado usando LINQ to SQL, Entity Framework y NHibernate por un tiempo, y de los tres, NHibernate es el marco más amigable, flexible y maduro. No tiene muchos diseñadores visuales, pero si se siente frustrado por las limitaciones, las peculiaridades, el comportamiento extraño y el mal desempeño de EF, NHibernate es una excelente alternativa.