Linq to Entities (Entity Framework) намного сложнее, чем Linq-To-SQL - но он более сложный, потому что он обеспечивает гораздо большую гибкость.
В Linq-to-SQL вы в основном получаете отображение 1: 1 между таблицами базы данных и вашими классами .NET в памяти. Это хорошо для многих более простых сценариев, и именно здесь Linq-to-SQL действительно сияет.
Но в более крупных и сложных корпоративных сценариях этого может быть недостаточно. Entity Framework и, следовательно, Linq-to-Entities позволяет вам иметь отдельную концептуальную модель (ваши .NET-объекты), которая не обязательно привязана к вашей структуре базы данных на основе 1: 1 (наследование, объединение нескольких таблиц в один объект и больше тех). Хотя это может показаться слишком сложным и слишком сложным, во многих сложных сценариях это спасение жизни и обязательная функция.
Так что я не думаю, что вы можете сравнить Linq-to-SQL и Linq-to-Entities (EF) друг с другом - они действительно созданы для разных, отдельных проблемных пространств, с разными требованиями и, следовательно, также разными подходы / стили программирования.
Если Linq-To-SQL достаточно хорош для вас и ваших требований - отлично - используйте его, во что бы то ни стало!
Марк