Linq-to-SQL es una gran tecnología y muy fácil de usar, por lo que está muy bien orientada a demostraciones, y es una opción perfecta para proyectos más pequeños y directos, donde tienes más o menos 1 : 1 asignación de sus tablas en SQL Server a sus objetos en la memoria.
Y esas son las limitaciones más restrictivas de LINQ to SQL:
- SQL Server sólo
- recta 1: 1 asignación de las tablas a los objetos en la memoria
Si eso está bien Contigo, ¡adelante y use Linq-to-SQL! Por supuesto, MS todavía está agregando características y corrigiéndolas para .NET 4.0, no está muerto por una posibilidad remota.
Entity Framework en su versión v1 disponible ahora tiene algunas verrugas, como otros carteles han mencionado con razón (sin soporte de POCO, sin enfoque de "diseño de dominio primero" y muchos otros). ¡Pero el conjunto de características de EF v4 parece muy convincente, y le dará una oportunidad a Linq-to-SQL por su dinero!
Las principales ventajas para EF frente a Linq-to-SQL en un entorno empresarial son su independencia de base de datos (puede conectarlo a Oracle, Firebird, DB2, muchos otros) que pueden ser cruciales y su capacidad para presentar usted con un modelo de objetos que se ve bastante diferente del modelo de almacenamiento físico en la base de datos (en virtud de la asignación entre la capa conceptual y la capa de almacenamiento físico).
Entonces, realmente se trata de lo que necesita: ¿necesita una forma rápida de comenzar (demostraciones, aplicaciones más simples)? Entonces, su elección es claramente de Linq a SQL (al menos por ahora) o ¿necesita un enfoque de mapeo flexible contra un backend que no sea SQL Server? entonces su elección será Entity Framework.
Marc
Microsoft ha dicho que todavía admitirán LINQ to SQL, por lo que no está muerto. –
Sí, Microsoft dice esto, pero nadie creía –
Luego lo demostraron haciendo un montón de cambios en Linq a SQL en .NET 4.0: http://damieng.com/blog/2009/06/01/linq-to- sql-changes-in-net-40 –