2009-04-21 3 views
1

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

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

ответ

9

Фактически вы можете вызвать хранимые процедуры из 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. Это старый бой хранимых процедур VS обычных запросов, Linq на самом деле не является частью вопроса.

+0

Это именно то, о чем я думал. LINQ буквально является «ссылкой» как таковой на .NET-код на SQL. Каким образом отображаются параметры sprocs? – Kezzer

+0

Если вы создаете хранимую процедуру proc, которая получает параметры, она будет отображаться в .NET как метод с теми же параметрами, но с типами .NET. – Gustavo

0

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

+2

На самом деле, для тех из вас, кто имеет ниспровержение, он в два раза прав. Команда ADO.NET прекратила проект Linq to SQL. Это не оправдывает использование Linq для сущностей, но ...;) –

+3

Нет, не прекращено, просто не в активной разработке. Они заявили, что есть потенциал для новой работы, но она вряд ли устарела. –

3

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

Смежные вопросы