Choosing between LINQ to SQL and Entity Framework
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?
I want to |
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. |
√ |
Use an ORM but I want something that is very performant and where I can optimize performance through stored procedures and compiled queries |
√ |
For more you must visit Introducing LINQ to Relational Data at MSDN.
Namoskar!!!