EF has reached the age of version 4.0. Before that, it was a little painful to use, and I did not recommend this. Now my recommendation is that all new LINQ-to-DB codes use EF4.
Regarding the new features, the LINQ part is actually very similar to LINQ to SQL. But this is a completely different architecture: EF4 acts as a LINQ provider for the ADO.NET (EF) provider, which then wraps another ADO.NET provider. So, there are such things as Entity SQL (which I do not use) and EF that support the different underlying ADO.NET providers (which I use).
The XML modeling system that EF uses allows for more powerful display abstractions . One of them, which I use regularly, has different tables with the same primary key mapping for the entity inheritance relationship; from what I understand, the only way to do this in LINQ to SQL is with a "selector column" (although I have never tried this in LINQ to SQL).
Stephen Cleary Jul 20 '10 at 20:30 2010-07-20 20:30
source share