Я слышал, что он сказал, что платформа Entity Framework слишком сложна или что ее трудно изучить по сравнению с LinqToSql.Как превалирует инфраструктура Entity Framework .NET с LinqToSql?
Мне интересно, каким образом? Я использовал LinqToSql и люблю его. Итак, я пытаюсь использовать EF и для того, что я делаю, они кажутся почти такими же. Пространства имен и имена методов различны, но до сих пор я не вижу ничего, что делает EF более сложным, чем LinqToSql.
Я уверен, что если я начну делать больше компромиссных вещей, он становится более сложным. Но опять же я, вероятно, вообще не могу сделать то же самое с LinqToSql, поэтому я вижу это как плюс для EF на всякий случай, если я хочу сделать что-то более сложное.
Использует ли EF больше ресурсов, чем LinqToSql, так что я не должен использовать его, если все, что мне нужно, это функциональность LinqToSql?
Обновление: Я сделал несколько тестов, и мои тесты, похоже, указывают на Linq на Entities, которые лучше, чем Linq to SQL.
Сначала я удаляю 1000 записей из одной таблицы, добавляю 1000 записей, редактирую 1000 записей, а затем привязываю их к DataView. LinqToSQL: 5 секунд LinqToEntities: 2 секунды
Я выполнил те же тесты, используя две объединенные таблицы, и результаты были схожими.
Мои тесты, кажется, поддерживают другую должность: Linq To Sql vs Entity Framework Performance
Update 2:
Спасибо за ответы. Мне кажется, что Linq to Entities на самом деле не слишком велико по сравнению с Linq to SQL. Изучив больше, я думаю, что идти с Linq to Entities - это путь. Похоже, что он имеет лучшую производительность.
Я считаю, что заявления «overkill», которые я слышал, сделаны из-за того, что Linq to Entities может выполнять гораздо больше, чем Linq To SQL, и для этого требуется больше конфигурации (около 1 строки в файле web.config). Также есть небольшие вещи, которые Linq to Entities делает иначе, чем Linq to SQL, которые могут заставить кого-то почувствовать, что Linq to Entities сложнее. Но как только вы узнаете, как делать вещи, кажется, что Linq для Entities не сложнее Linq для SQL.
Я, наконец, добрался до испытания, и я был удивлен в обратном направлении. Я не знаю, действительно ли мой тест действителен, но я сначала удаляю 1000 записей, добавляю 1000 записей, редактирую 1000 записей, а затем привязываю их к DataView. LinqToSQL: 5 секунд LinqToEntities: 2 секунды – dtc 2008-12-16 01:29:20
DataSets? Ugh ... Существует множество других фреймворков (например, Subsonic, NHibernate и т. Д.).Не говоря уже о разработке на заказ, которое я все еще предпочитаю. Я никогда не сталкивался с проектом, который использовал DataSets, которые я считал даже удаленно чистыми. – senfo 2008-12-30 03:08:09
Помимо теста производительности, вы также должны посмотреть, сколько времени и усилий вам нужно, чтобы сделать любую фреймворк, как хотите. Как отметил Сенфо, DataSets может быть быстрым, но с ними не очень удобно работать. – 2009-02-04 08:40:41