При выполнении из Management Studio хранимая процедура завершается через <0,1 с, но при выполнении через EF это занимает более 2 с. </p>
Ниже представлен вывод профилировщика:
Немного иронично, поскольку причиной создания SP было повышение производительности запроса EF, который занял около 1,2 с.
UPDATE
Что бы это ни стоило, результат SP отображается на комплексный тип EF. Я звоню без всякого фокусного покуса:
var menuTags = db.GetMenuTags(2, "en-US");
SQL, сгенерированный EF:
exec [dbo].[GetMenuTags] @CustTypeId=2,@LanguageId='en-US '
Единственное отличие - куча пробелов, добавляемых EF в конец @LanguageId, но они не влияют на производительность. Я пробовал точно такой же SQL в MSSMS, и он работает так же, как и без пробелов.