Нужен совет: переход с Linq на SQL на Entity Framework - PullRequest
4 голосов
/ 22 декабря 2011

Я знаю различия на высоком уровне между linq to sql и структурой сущностей, однако я надеюсь получить совет от кого-то еще, кто уже сделал переключение самостоятельно или имеет достаточный опыт работы с обоими. Происходя из сильного фона linq to sql, в том, что касается реализации и низкоуровневых деталей, есть ли какие-то важные вещи, которые мне нужно знать, когда я начинаю кодировать свой новый проект уровня доступа к данным с помощью структуры сущностей?

Я уже создал свой файл edmx (я выбрал подход, основанный на базе данных), и пока все выглядит подозрительно идентично linq to sql. Что мне поможет, так это короткий список элементов, например, в linq to sql вы делаете [это] [таким образом], но в рамках сущности вы захотите сделать это [таким образом].

Извините, если это странный вопрос, но любые попытки получить ответы будут высоко оценены. Спасибо!

Ответы [ 2 ]

1 голос
/ 22 декабря 2011

В новом проекте между 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.

0 голосов
/ 30 декабря 2011

NH намного лучше ... но опять же, поскольку EF - это Microsoft, детка, со временем он будет расти

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...