в следующей Salesforce статье говорится, что:
При работе с запросами SOQL карты могут заполняться результатами, возвращенными запросом SOQL. Ключ карты должен быть объявлен с типом данных ID или String, а значение карты должно быть объявлено как тип данных sObject.
Предположим, что для объекта Account у меня есть поле типа text, которое unique с именем uniquetext__c , как этого достичь:
Map<string, Account> map_acc = new Map<string, Account>([select uniquetext__c, name, customField1, customField 2 from Account limit 10]);
Я ожидаю, что у вас будет карта между uniquetext__c и Account sObject , а не ID и Account sObject