Ну, бесконечные дебаты: -)
Да, я твердо верю, что 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, наделен некоторыми исправлениями ошибок и даже улучшениями , и он будет доступен по крайней мере еще пару лет.