Linq для SQL быстрее, чем Linq для сущностей? - PullRequest
2 голосов
/ 16 ноября 2011

У меня была беседа с моим коллегой. Мы используем Linq to Sql на работе, и я новичок на работе, поэтому я спросил его, почему мы не используем Linq to Entities? Он привел несколько аргументов, и один из них был «Потому что Linq to Entities медленнее, чем linq to Sql». Я скептически отношусь к этому, я знаю, что Linq to Entities более сложный и имеет дополнительные функции, но я не понимаю, почему он медленнее.

Линк к сущностям медленнее? Что было бы хорошим ответом на такой аргумент?

Ответы [ 2 ]

5 голосов
/ 16 ноября 2011

Вероятно, это связано с проблемами производительности в ранних версиях Entity Framework.

В более ранних выпусках было довольно много проблем с запросами, которые плохо транслировались в Entity Framework. Более поздние выпуски решали многие из этих проблем, поэтому теперь я бы сказал, что это скорее всего или лучше с точки зрения производительности.

Это, как говорится, действительно зависит от того, что вы тестируете - тесты и профилирование - единственный способ определить. Linq To SQL будет быстрее для некоторых операций - но EF также будет быстрее для других. При этом EF теперь предоставляет гораздо больше возможностей для обхода ограничений и проблем, поэтому, вероятно, со временем станет более настраиваемым.

1 голос
/ 16 ноября 2011

С точки зрения чистой производительности LINq To SQL должен быть немного быстрее, поскольку он использует один уровень отображения, в то время как Linq to Entities имеет два уровня отображения, а дополнительное отображение может иметь затраты производительности.

Однако вы должны сделать какой-то тест в своем собственном контексте использования, потому что различия в производительности не могли быть замечены в большинстве случаев ...

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