В новом проекте между L2S и EF я предлагаю EF (рассмотрите Entity Framework версии 4.0 или выше, НЕ используйте ранние выпуски EF).
В то время как Linq to SQL является сопоставлением классов и таблиц, EF 4 является полным инструментом ORM (Object Relational Mapping) с различными сценариями сопоставления.
С EF вы получаете большую гибкость:
- База данных Первый подход
- Модель Первый подход
- Код Первый подход
и сильная интеграция с провайдером LINQ.
Модульное тестирование с Linq2SQL - это кошмар.
С EF у вас есть POCO (Plain Old CLR Object) классы из коробки. В L2S класс сущностей тесно связан с пространством имен L2S.
EF может помочь вам также в сценариях доменного управления.
Microsoft теперь считает EF первым методом доступа к базе данных, и он является базой для других сервисов, таких как RIA-сервисы или скаффолдинг баз данных MVC.
LinqToSql теперь является первой методологией доступа к базе данных только в сценариях Windows Phone.