Some developers are understandably confused by the overlap between EF and LINQ to SQL. EF and LINQ to SQL were developed by two different teams—hence the overlap. LINQ to SQL is a great piece of technology and very suitable as a simple, lightweight wrapper to SQL. It is pretty clear, however, that Microsoft is pushing developers to use EF. This is a sensible (although no doubt irritating) move, as LINQ to SQL is fundamentally flawed as a generic ORM solution in that
It only works with SQL Server.
Generated classes must have a one-to-one relationship with database objects.
EF provides an abstraction above the database layer and a number of enhancements that make it superior to LINQ to SQL.
Er, probably not. In October 2008, Microsoft's Tim Mallalieu (program manager of LINQ to SQL and LINQ to Entities) stated, "We're making significant investments in the Entity Framework such that as of .NET 4.0 the Entity Framework will be our recommended data access solution for LINQ to relational scenarios." (See http://blogs.msdn.com/adonet/archive/2008/10/29/update-on-linq-to-sql-and-linq-to-entities-roadmap.aspx.)
However, after feedback from a large number of LINQ to SQL customers, Microsoft seemed to back off on this a bit, when Tim said, "We will continue to make some investments in LINQ to SQL based on customer feedback. This post was about making our intentions for future innovation clear and to call out the fact that as of .NET 4.0, LINQ to Entities (L2E) will be the recommended data access solution for LINQ to relational scenarios." (See http://blogs.msdn.com/adonet/archive/2008/10/31/clarifying-the-message-on-l2s-futures.aspx.)
In VS2010/.NET 4.0, LINQ to SQL has a number of welcome performance enhancements and bug fixes. It is slightly troublesome that there is very little information on this at the time of writing, but for a full list, please see the blog post by Damien Guard (who works at Microsoft within the data programmability team) at http://damieng.com/blog/2009/06/01/linq-to-sql-changes-in-net-40.
3.142.210.226