Entity Framework — чрезвычайно долгое время выполнения хранимой процедурыC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Entity Framework — чрезвычайно долгое время выполнения хранимой процедуры

Сообщение Anonymous »

Я отвечаю на свой вчерашний вопрос: Entity Framework 6 получает сложное возвращаемое значение из хранимой процедуры. Моя хранимая процедура теперь работает в рамках структуры сущности. Однако время ожидания истекает через 3 минуты, время соединения истекает.

Я запускаю хранимую процедуру в своей SQL Server Management Studio со строкой (информация о клиенте опущена):< /p>

Код: Выделить всё

EXEC spGetDupWOs @ProjectName=N'...', @City=N'...', @State=N'LA', @ProposalNum=N'201703080740-001', @County=N'...', @Owner=N'...', @QuoteRecipients=N'...', @ProjectID=-1
Он выполняется менее чем за секунду. Когда платформа Entity выполняет его, это занимает вечность.

Используя профилировщик SQL Server, я определил, что Entity Framework отправляет эту строку на SQL-сервер:

Код: Выделить всё

exec sp_executesql N'EXEC spGetDupWOs',N'@ProjectName nvarchar(19),@City nvarchar(6),@State nvarchar(2),@ProjectNum nvarchar(12),@County nvarchar(10),@Owner nvarchar(23),@QuoteRecipients nvarchar(23),@ProjectID bigint',@ProjectName=N'...',@City=N'Holden',@State=N'LA',@ProposalNum=N'201703080740-001',@County=N'Livingston',@Owner=N'...',@BID_RECIP=N'...',@ProjectID=-1
Когда я запускаю это в SSMS, это занимает целую вечность.

Читая похожие вопросы, это выглядит так: проблема заключается в прослушивании параметров и изменении плана выполнения.

Вот мой вызов для выполнения хранимой процедуры в моем приложении:

Код: Выделить всё

            List duplicateCheckResults =
db.Database.SqlQuery("spGetDupWOs",
spl.ToArray())
.ToList();
Прочитав кучу статей в Интернете, я еще больше запутался. Как я могу изменить свой звонок, чтобы решить эту проблему?

Подробнее здесь: https://stackoverflow.com/questions/427 ... -procedure
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»