Относительная простота Linq-To-Sql, а также всей критики, направленной на версию 1 Платформы Объекта (особенно, вотум недоверия), убедила меня идти с Linq-To-Sql "в настоящее время". Теперь, когда EF 4.0 отсутствует, интересно, пора ли начать мигрировать на него.
Вопросы:
Ну, бесконечные споры: -)
Да, я твердо верю EF4 определенно готов к работе в прайм-тайм - Microsoft проделала выдающуюся работу по устранению практически всех неудобств и проблем с выпуском EF 1.0.
Он готов к использованию в прайм-тайм - если вам нужны все его функции.
Linq- to-SQL - довольно простой ard, без излишеств, серьезный OR mapper - он сопоставляет одну таблицу базы данных с одним объектом CLR - вот и все. Очень простой, очень прямой, но довольно тонкий слой поверх SQL Server.
EF4, с другой стороны, гораздо больше
] Итак, если вам действительно нужна поддержка нескольких баз данных (а не только SQL Server), или если вам действительно нужно иметь возможность преобразовать структуру базы данных в совершенно другую объектную модель, EF4 - отличное место для начала.
Если у вас есть простое и понятное приложение небольшого или среднего размера, которому нужно только легко и быстро отображать таблицы 1: 1 на объекты, то я не думаю, что EF4 даже близко подходит с точки зрения простоты и производительности. в Linq-to-SQL.
EF4 великолепен - и если вам нужна его мощность - используйте его!
Но если ваши требования намного меньше, это может быть просто излишним - продолжайте использовать Linq-to-SQL (я буду) и буду доволен. Я не вижу веских причин сбрасывать Linq-to-SQL - он по-прежнему полностью доступен в .NET 4, был благословлен некоторыми исправлениями ошибок и даже улучшениями , и он будет доступен по крайней мере в течение еще пару лет.