Запрос Salesforce занимает слишком много времени, чтобы вернуть результат
Использование Devart dotConnect для Salesforce 3.3.696;
У меня есть простой вызов метода ниже. Он передает номер займа в возможность и возвращает идентификатор возможности. В таблице Opportunity содержится более 99 000 записей, поэтому не так много, но выполнение этого процесса занимает почти 7 минут. Почему долгое время? Это неприемлемо, когда я ежедневно обрабатываю сотни записей в своем приложении. Я попытался перейти прямо к контексту (метод 1), а не использовать репозиторий (метод 2), но результаты были незначительными по времени отклика. Я запускал это против Full Sandbox и Production с одинаковыми плохими результатами.
Loan, является строковым типом данных, он был задан как ExternalId и помечен как уникальный, поэтому они автоматически индексируются в таблице SalesForce.
Salesforce Workbench возвращает запись за доли секунды.
Любая помощь будет оценена.
private string GetRelatedOpportunity(string loanNumber)
{
//Method 1
EFSalesforceContext efc = new EFSalesforceContext();
var item = efc.Opportunities.FirstOrDefault(x => x.Loan == loanNumber);
return item?.Id;
//Method 2
//return loanNumber == null
// ? string.Empty
// : _sfOpportunityRepository.Find(x => x.Loan == loanNumber).FirstOrDefault()?.Id;
}