LINQ медленнее, чем вызов хранимых процедур?

Я надеюсь, что мы проведем капитальный ремонт нашей системы для использования ASP.NET MVC, однако во всех приведенных примерах используется LINQ to SQL. Разработчик LINQ сказал нам, что на самом деле это медленнее, чем вызов процедуры хранилища.

Кроме того, как бы вы могли вызвать хранимую процедуру для вывода с помощью MVC? Я не совсем уверен, что LINQ удовлетворит наши потребности, поскольку наши хранимые процедуры очень большие и сложные. Есть предположения?


person Kezzer    schedule 21.04.2009    source источник


Ответы (3)


Фактически, вы можете вызывать хранимые процедуры из Linq в SQL. Взгляните на это: http://weblogs.asp.net/scottgu/archive/2007/08/16/linq-to-sql-part-6-retrieving-data-using-stored-procedures.aspx Я бы сказал, что при использовании Linq не происходит падения производительности, поскольку это просто способ выразить ваш sql-код на C # / VB.NET. Он будет переведен на простой sql. Это старая битва между хранимыми процедурами и обычными запросами, Linq на самом деле не является частью вопроса.

person Gustavo    schedule 21.04.2009
comment
Это именно то, о чем я думал. LINQ - это буквально ссылка как таковая от кода .NET на SQL. Каким образом отображаются параметры sprocs? - person Kezzer; 21.04.2009
comment
Если вы создаете хранимую процедуру, которая получает параметры, она будет представлена ​​в .NET как метод с теми же параметрами, но с типами .NET. - person Gustavo; 21.04.2009

Да, в некоторых крайних случаях он работает медленнее, в этих случаях вы можете вызывать sprocs из L2S.

person kazimanzurrashid    schedule 21.04.2009

Я считаю, что LINQ to SQL устарел, и LINQ to Entities - это технология, которую нужно использовать.

person Steven    schedule 21.04.2009
comment
На самом деле, для тех из вас, кто проголосовал против, он наполовину прав. Команда ADO.NET прекратила работу над проектом Linq to SQL. Это не оправдывает использование вместо этого Linq to Entities, но ...;) - person J. Steen; 21.04.2009
comment
Нет, не снят с производства, просто не в активной разработке. Они сказали, что есть потенциал для новой работы, но это вряд ли устарело. - person Ray Booysen; 21.04.2009