I want to create a Map (collection), which has Account as a Key and list of contacts as value.
I am able to create this by getting list of accounts with contacts and then iterating each account and manually adding in the Map collection as below code.
public map<Account,List<Contact>> accountContactMap = new map<Account,List<Contact>>();
List<Account> lstAccount = [SELECT Id, name, (SELECT Id, Name FROM Contacts) FROM Account];
for(Account acc : lstAccount)
{
this.accountContactMap.put(acc, acc.Contacts);
}
System.debug(this.accountContactMap);
Is there any way to create this map directly from soql query instead of iterating each account and manually adding to map as below :
public map<Account,List<Contact>> accountContactMap = ['soql query'];