Дамп Linq-To-Sql теперь, когда вышла Entity Framework 4.0? - PullRequest
17 голосов
/ 24 апреля 2010

Относительная простота Linq-To-Sql, а также вся критика, направленная на версию 1 Entity Framework (особенно вотум недоверия ), убедили меня пойти с Linq-To-Sql "в настоящее время". Теперь, когда вышел EF 4.0, мне интересно, не пора ли перейти на него?

Вопросы:

  1. Каковы плюсы и минусы EF 4.0 относительно Linq-To-Sql?
  2. Готов ли EF 4.0 к прайм-тайму?
  3. Настало ли время для переключения?

Ответы [ 2 ]

18 голосов
/ 24 апреля 2010

Ну, бесконечные дебаты: -)

Да, я твердо верю, что EF4 определенно готов к прайм-тайм - Microsoft проделала выдающуюся работу по устранению практически всех неприятностей и проблем с выпуском EF 1.0.

Он готов к прайм-тайм - если вам нужны все его функции.

Linq-to-SQL - довольно простое, без излишеств, без излишних преобразователей ИЛИ - он отображает одну таблицу базы данных в один объект CLR - и это все. Очень простой, очень прямой - но довольно тонкий слой поверх SQL Server.

EF4, с другой стороны, намного больше

  • концептуальная модель данных в вашем объектном пространстве
  • модель данных хранения на уровне вашей базы данных
  • слой отображения между двумя
  • независимые от базы данных

Так что, если вам действительно нужна поддержка нескольких баз данных (и не только SQL Server), или если вам действительно необходимо преобразовать структуру базы данных в совершенно другую объектную модель - EF4 - отличное место для старта.

Если у вас есть простое и понятное приложение небольшого или среднего размера, для которого требуется только возможность легко и быстро отобразить таблицы 1: 1 на объекты, то я не думаю, что EF4 подходит даже близко по простоте и производительности. в Linq-to-SQL.

EF4 великолепен - и если вам нужна его мощность - иди с ним!

Но если ваши требования намного меньше, это может быть просто излишним - продолжайте использовать Linq-to-SQL (я буду) и буду доволен этим. Я не вижу веской причины для дампа Linq-to-SQL - он по-прежнему полностью доступен в .NET 4, наделен некоторыми исправлениями ошибок и даже улучшениями , и он будет доступен по крайней мере еще пару лет.

0 голосов
/ 08 октября 2010

@ marc_s, @DanM:

Пожалуйста, не рассматривайте этот пост как рекламу :) Мы просто хотим узнать мнение опытных пользователей Linq to Sql.

Мы реализовали следующие улучшения в нашем LinqConnect (Linq to Sql Server, Oracle, MySql, PostgreSql, SQLite):

- Complex Type  
- Many to Many  
- Batch update operations  
- Recursive support in DataLoad options  
- Query level preload (like Include in EF)  
- TPT support (in LinqConnect 2.0)  

Мы также планируем добавить поддержку для кэша второго уровня.

Эти улучшения для вас ценны?

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