Я использую EF 4, и я озадачен еще одной странностью ... По сути, у меня есть довольно простая хранимая процедура, которая отвечает за извлечение данных из SQL и возврат сложного типа. У меня есть хранимая процедура, добавленная в мою модель с помощью функции импорта. Это более или менее в следующей структуре.
using (ModelContainer context = GetNewModelContainer())
{
return context.GetSummary(id, startDate, endDate, type).ToList();
}
Следует отметить, что приведенный выше код выполняется через удаленное SQL-соединение . Выполнение занимает около 10 минут. Однако при использовании SQL Server Management Studio через удаленное соединение хранимая процедура выполняется практически мгновенно.
Есть только около 100 записей, которые возвращаются, и каждая запись имеет приблизительно 30 полей.
Когда я запускаю приведенный выше код локально (без удаленного подключения) для резервной копии базы данных клиента, он выполняется без каких-либо задержек.
Я нахожусь в тупике из-за того, что может быть причиной этого удара производительности. 10 минут недопустимо. Я не думаю, что это хранимая процедура. Может ли это быть сериализация из-за удаленного соединения? Любые мысли о том, как я могу отследить и исправить виновника?