Я слышал, что сказано, что Entity Framework излишне или что его трудно изучить по сравнению с LinqToSql.
Мне интересно, каким образом? Я использовал LinqToSql и мне это нравится. Итак, я пробую EF, и для вещей, которые я делаю, они выглядят почти одинаково. Пространства имен и имена методов различны, но пока я не вижу ничего, что делает EF сложнее, чем LinqToSql.
Я уверен, что если я начну делать более сложные вещи, это станет более сложным. Но, опять же, я, вероятно, не могу сделать то же самое с LinqToSql, поэтому считаю это плюсом для EF на тот случай, если я действительно хочу сделать что-то более сложное.
Использует ли EF больше ресурсов, чем LinqToSql, так что я не должен использовать его, если все, что мне нужно, это LinqToSql-подобная функциональность?
Обновление:
Я провел несколько тестов, и мои тесты, похоже, указывают на то, что Linq to Entities работает лучше, чем Linq to SQL.
Сначала я удаляю 1000 записей из одной таблицы, добавляю 1000 записей, редактирую 1000 записей, а затем связываю их в DataView. LinqToSQL: 5 секунд LinqToEntities: 2 секунды
Я выполнил один и тот же тест, используя две соединенные таблицы, и результаты были похожи.
Кажется, мои тесты поддерживают другой пост:
Linq To Sql против производительности Entity Framework
Обновление 2:
Спасибо за ответы. Мне кажется, что Linq to Entities на самом деле не излишне по сравнению с Linq to SQL. Изучив больше, я думаю, что путь с Linq к Entities - это путь. Похоже, имеет лучшую производительность.
Я полагаю, что заявления о «перегибах», о которых я слышал, сделаны потому, что Linq to Entities может сделать гораздо больше, чем Linq To SQL, и для этого требуется больше настроек (еще около 1 строки в web.config). Также есть небольшие вещи, которые Linq to Entities делает иначе, чем Linq to SQL, которые могут заставить кого-то почувствовать, что Linq to Entities более сложен. Но как только вы научитесь делать что-то, кажется, что Linq to Entities не сложнее, чем Linq to SQL.