linq-to-sql - linqtosql - linq to sql vs entity framework
¿Desea descargar Linq-To-Sql ahora que se ha lanzado Entity Framework 4.0? (2)
@marc_s, @DanM:
Por favor, no considere esta publicación como un anuncio :) Solo queremos saber la opinión de los usuarios avanzados de Linq to Sql.
Hemos implementado las siguientes mejoras en nuestro LinqConnect (Linq to Sql Server, Oracle, MySql, PostgreSql, SQLite):
- Complex Type
- Many to Many
- Batch update operations
- Recursive support in DataLoad options
- Query level preload (like Include in EF)
- TPT support (in LinqConnect 2.0)
También planeamos agregar soporte para caché de segundo nivel.
¿Son estas mejoras valiosas para ti?
La simplicidad relativa de Linq-To-Sql, así como todas las críticas dirigidas a la versión 1 de Entity Framework (especialmente, el voto de no confianza ) me convencieron de ir con Linq-To-Sql "por el momento". Ahora que EF 4.0 está fuera, me pregunto si es hora de comenzar a migrar a él.
Preguntas:
- ¿Cuáles son los pros y los contras de EF 4.0 en relación con Linq-To-Sql?
- ¿Está EF 4.0 finalmente listo para el prime time?
- ¿Ahora es el momento de cambiar?
Bueno, un debate interminable :-)
Sí, creo firmemente que EF4 está definitivamente listo para el prime time: Microsoft ha hecho un excelente trabajo al abordar casi todas las molestias y problemas con la versión 1.0 de EF.
Está listo para el horario de máxima audiencia, si necesita todas sus características.
Linq-to-SQL es un mapeador OR bastante sencillo, sencillo, sin complicaciones, que asigna una tabla de base de datos a un objeto CLR, y eso es todo. Muy básico, muy directo, pero una capa bastante delgada sobre SQL Server.
EF4 por otro lado es mucho más
- Un modelo conceptual de datos en tu espacio de objetos.
- un modelo de datos de almacenamiento en su capa de base de datos
- una capa de mapeo entre los dos
- base de datos independiente
Entonces, si realmente necesita soporte para múltiples bases de datos (y no solo SQL Server), o si realmente necesita poder transformar la estructura de la base de datos en un modelo de objeto totalmente diferente, EF4 es un excelente lugar para comenzar.
Si tiene una aplicación simple y sencilla de tamaño pequeño a mediano que solo necesita poder mapear de forma fácil y rápida las tablas 1: 1 a los objetos, entonces no creo que EF4 se acerque tanto en términos de simplicidad como de rendimiento a Linq- a-SQL.
EF4 es genial, y si necesitas su poder, ¡adelante!
Pero si sus requisitos son mucho menos, podría ser una exageración: continúe usando Linq-to-SQL (lo haré) y esté contento con él. No veo ninguna buena razón para deshacerme de Linq-to-SQL: todavía está totalmente disponible en .NET 4, ha sido bendecido con algunas correcciones de errores y mejoras , y estará disponible por lo menos durante un par de años más.