There have been many talks going on while deciding between LINQ to SQL and Entity Framework.
There is one article published in MSDN at
When do I use LINQ to SQL?
I want to
LINQ to SQL is applicable
Use an ORM solution and my database is 1:1 with my object model
Use an ORM solution with inheritance hierarchies that are stored in a single table
Use my own plain CLR classes instead of using generated classes or deriving from a base class or implementing an interface
Leverage LINQ as the way I write queries
Use an ORM but I want something that is very performant and where I can optimize performance through stored procedures and compiled queries
When to use LINQ to Entity?
LINQ to Entities is applicable
Write applications that can target different database engines in addition to Microsoft SQL Server
Define domain models for my application and use these as the basis for my persistence layer.
Use an ORM solution where my classes may be 1:1 with the database or may have a very different structure from the database schema
Use an ORM solution with inheritance hierarchies that may have alternative storage schemes (single table for the hierarchy, single table for each class, single table for all data related to specific type)
Leverage LINQ as the way I write queries and have the query work in a database vendor agnostic manner.
For more you must visit Introducing LINQ to Relational Data at MSDN.
PingBack from http://blog.a-foton.ru/index.php/2009/01/05/choosing-between-linq-to-sql-and-entity-framework/
Isn't it too early to say that LINQ to Entity can target different database engines? Oracle does not currently support it, but I think DB2 recently provided support for it. I remember seeing a commercial version of EF for Oracle, but would like it to be provided by MS or Oracle.
Nice Pointer Wriju,
"Leverage LINQ as the way I write queries and have the query work in a database vendor agnostic manner."
Do you have any links on how this is done? I've read that this is what I need to do in order to be able to have my entities/DTOs seperate from my data access code provided by the datacontext and linq to sql.
As part of my day to job I come across a very common question from the developer community that one should
I have been getting a continuous request on what we should be using? LINQ to SQL or ADO.NET Entity Framework?