Почему Linq to Entities "сложнее", чем Linq to SQL - PullRequest
1 голос
/ 02 мая 2009

Почему в Linq to Entities мне нужно указывать отношения с помощью Include (string)? Linq to SQL не требуется.

Это выбор разработчиков или ограничение?

Другая проблема, Linq to SQL - это более «класс POCO», Linq to Entities слишком сложен.

1 Ответ

10 голосов
/ 02 мая 2009

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 достаточно хорош для вас и ваших требований - отлично - используйте его, во что бы то ни стало!

Марк

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