He oído decir que Entity Framework es excesivo o que es difícil de aprender en comparación con LinqToSql.¿Cómo es .net Entity Framework overkill versus LinqToSql?
Me pregunto de qué manera? Usé LinqToSql y me gusta. Entonces, estoy probando el EF y por las cosas que estoy haciendo, parecen casi exactamente iguales. Los espacios de nombre y los nombres de los métodos son diferentes, pero hasta ahora no veo nada que haga que EF sea más difícil que LinqToSql.
Estoy seguro de que si empiezo a hacer más cosas de compilación se vuelve más complejo. Pero, de nuevo, probablemente no pueda hacer lo mismo con LinqToSql en absoluto, así que lo veo como un plus para el EF en caso de que quiera hacer algo más complejo.
¿EF usa más recursos que LinqToSql tanto que no debería usarlo si todo lo que necesito es la funcionalidad LinqToSql?
Actualización: Hice algunas pruebas y mis pruebas parecen apuntar a Linq a las entidades que funcionan mejor que Linq a SQL.
Primero eliminé 1000 registros de una sola tabla, agregué 1000 registros, edité 1000 registros y luego los relacioné con un DataView. LinqToSQL: 5 segundos LinqToEntities: 2 segundos
Realicé la misma prueba utilizando dos tablas unidas y los resultados fueron similares.
Mis pruebas parecen apoyar otro post: Linq To Sql vs Entity Framework Performance
Actualización 2:
Gracias por las respuestas. Me parece que Linq to Entities no es realmente excesivo contra Linq to SQL. Después de investigar más, creo que ir con Linq to Entities es el camino a seguir. Parece tener un mejor rendimiento.
Creo que las declaraciones de "exceso" que he escuchado se hacen porque Linq to Entities puede hacer mucho más que Linq To SQL y requiere más configuración (aproximadamente 1 línea más en el web.config). También hay cosas pequeñas que Linq to Entities hace diferente de Linq a SQL que pueden hacer que alguien sienta que Linq to Entities es más complicado. Pero una vez que aprendes cómo hacer las cosas, parece que Linq to Entities no es más complicado que Linq to SQL.
Finalmente llegué a hacer una prueba y me sorprendió en el sentido opuesto. No tengo idea de si mi prueba es válida, pero primero elimino 1000 registros, agregué 1000 registros, edité 1000 registros y luego los relacioné con un DataView. LinqToSQL: 5 segundos LinqToEntidades: 2 segundos – dtc
¿Conjuntos de datos? Ugh ... Hay muchos otros frameworks disponibles (por ejemplo, Subsonic, NHibernate, etc.).Por no mencionar el desarrollo personalizado, que a menudo prefiero. Nunca me encontré con un proyecto que usara DataSets que consideré limpiado de manera remota. – senfo
Además de la prueba de rendimiento, también debe ver cuánto tiempo y esfuerzo le lleva hacer que cualquier marco haga lo que quiera. Como senfo señaló, los DataSets pueden ser rápidos, pero no son tan buenos para trabajar. –