These two data access strategies should be shipped in the new Visual Studio 2008 (aka "Orcas") but from some reasons Microsoft decided to cut the entity framework from this release and to ship it in the middle of 2008. So what is the different between these two frameworks? When should I choose the Linq to Sql and when do it really recommended to wait for the Entity framework?
I decided to look for some answers to these questions, just stay with me few more moments…
| Category |
Linq to SQL |
Entity framework |
| Model Type |
Linq to sql is best matching for domain model with specific sql server scheme |
The Entity Framework gives the ability to write to conceptual data model with strongly typed, inheritance, and relationships |
| Databases Supported |
Only SQL Server! |
Design to support variety databases (DB2, MySql, Sybase and more)
* Oracle maybe will support a provider in the next release... |
| Mapping |
Mapping Single class to a single table |
Mapping Single class to multiple tables |
| Data Sources |
Tables in Sql Server |
Tables in Sql Server, Replication, Reporting Services, BI, Integration Services and etc. |
| Development time |
Design to rapid development agent Sql Server scheme |
More complex framework with more flexibility |