Каковы преимущества EF4 или LINQ to SQL? - PullRequest
3 голосов
/ 04 сентября 2010

Каковы преимущества EF4 и при каких условиях он предпочтительнее, чем LINQ to SQL?

Ответы [ 4 ]

2 голосов
/ 04 сентября 2010

LINQ to SQL больше не будет развиваться.Таким образом, EF - это путь в будущее.

Entity Framework против LINQ to SQL (это должно объяснить, что вы хотите знать)

0 голосов
/ 04 сентября 2010

После двух попыток и более чем одной недели, потраченной на перенос проекта из linq в sql, я могу сказать, что я действительно предпочитаю Linq SQL.Основная причина этого заключается в том, что EF более строго определяет, какие функции вы можете использовать в запросах LINQ.В EF мне приходилось приводить выражения linq к списку, чтобы иметь возможность манипулировать ими дальше.Извините, что не смог вспомнить ни одного примера, прошло несколько месяцев с тех пор, как я это сделал ...

Одна из действительно больших плюсов EF - простота использования в связи с WCF Data Services.Очень удобно, если вы разрабатываете веб-сайт, который должен иметь RESTful API.

Кроме того, хотя Linq to SQL достаточно развит, это действительно умирающая технология.Он не получит каких-либо значительных обновлений, что усложнит переход на Linq To SQL для нового проекта.

0 голосов
/ 04 сентября 2010

EF4 в основном добавляет целую кучу OO-сущности к отображению, которого нет в LINQ-to-SQL, например, модели наследования богатых объектов. Я считаю, что ничего этого не нужно для хорошего дизайна, и мне еще не приходилось сталкиваться с одним сценарием в моей собственной работе, который оправдывал бы дополнительную сложность, которую EF4 привносит в таблицу.

Сказав это, Microsoft отказалась от LINQ-to-SQL и не будет продолжать его разработку, поэтому в конечном итоге она отстает от EF4 по возможностям и эффективности (если она еще этого не сделала). Так что прагматичный выбор прост: иди EF4.

0 голосов
/ 04 сентября 2010

Итак, два основных различия:

1) EF может работать с несколькими ядрами баз данных, включая Oracle и MySQL.Не только MS SQL Server.
2) Вы можете заниматься разработкой так называемой схемы «сначала код».По сути, вы создаете свою объектную модель, и вместе с некоторыми подсказками EF сгенерирует для вас схему.

Мне кажется, что Linq to Sql отлично подходит для быстрого создания прототипов и простых сценариев CRUD.Что-нибудь более продвинутое или предприимчивое использовало бы EF4.(Или, по крайней мере, это то, во что MS хотела бы, чтобы мы поверили :) Мне повезло с Linq to SQL в производстве, чего бы это ни стоило.

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