Что лучше: LINQ to SQL или LINQ to Entities?

пятница, 21 ноября 2008, Александр Краковецкий

Дать ответ однозначно, конечно же, никто не решится. Все зависит от ситуации, скажет он и будет прав. Вот как раз о ситуациях поговорим подробнее.

Курсивом выжелены те пункты, которые приминимы в обоих случаях.

Лучше использовать Linq To SQL, если я хочу...

  • написать ORM приложение с маппингом объектов базы и бизнес-объектов 1 к 1
  • написать ORM приложение с иерархическими наследованиями (inheritance hierarchies), которые хранятся в одной таблице
  • использовать свои классы, а не генерированные, или наследоваться от базового класса, или реализовать интерфейс
  • использовать LINQ для своих запросов
  • использовать ORM, но также хочу, чтобы все это было высокопроизводительным, и я имел возможность оптимизировать производительность методом редактирования хранимых процедур и компилируемых запросов

Лучше использовать Linq To Entities, если я хочу...

  • написать приложение, которое будет работать с различными базами данных (или же выбор базы данных еще не сделан, но писать надо - прим. авт.)
  • определить модели для моего приложения для конкретной области
  • написать ORM-приложение, которое будет иметь маппинг базы данных и бизнес-объектов 1 к 1 или же отличающуюся структуру
  • использовать ORM-проект с иерархическими наследованиями, которые могут иметь альтернативные источники хванения схем (отдельная таблица для иерархии, отдельная таблица для каждого класса, отдельная таблица для всех данных, которые относятся к специфическому типу)
  • использовать ORM, но также хочу, чтобы все это было высокопроизводительным, и я имел возможность оптимизировать производительность методом редактирования хранимых процедур и компилируемых запросов

Как видим, в простых ситуациях лучше использовать LINQ to SQL, в более сложных - LINQ to Entities.

Ссылка на оригинал


Ищите нас в интернетах!

Комментарии

Свежие вакансии