Until Winter 21 release, whenever we had to fetch all or certain entries of a Custom Metadata Types, we had to write a full-blown query.
And it's going to look something like this!
List<Location__mdt> locationMetadata = [SELECT field1, field2 on Location__mdt];
Now it's all simplified, as a part of this release the way we can interact with Custom Metadata Types is changed a bit, for good.
There are 2 new methods which are available to us as a part of the release.
- getAll()
- getInstance() - This method accepts one parameter and it can be either record id, developer name or qualified API name.
//this give us access to all the records in the custom metadata types
List<Location__mdt> loc = Location__mdt.getAll();
//this give us access to the record that's associated with the provided record ID
List<Location__mdt> loc = Location__mdt.getInstance();
//this give us access to the record that's associated with the provided DeveloperName
List<Location__mdt> loc = Location__mdt.getInstance('DeveloperName');
//this give us access to the record that's associated with the provided QualifiedApiName
List<Location__mdt> loc = Location__mdt.getInstance('QualifiedApiName');
That's pretty much handy is it!
This makes sure the way we interact with Custom Settings and Custom Metadata follow the same standards.
Learn it by building it
Every course, every code repository, the discussion group and certificates of completion — one subscription.