Salesforce Interview Questions & Answers Book is now available!

Grab Now

Release notes

Access Custom Metadata Without A Full Blown Query - Spring '21

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.

By Teja, ex-Salesforce engineer · Updated January 3, 2021 · 1 min read

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.

Keep me in the loop!

Email me when a new episode is published (promise, I will not spam you)

You're signing up to receive emails from Salesforce Casts