Simply put, CustomPropertyDbEx takes the custom properties you can create and assign to channels, templates, and postings and moves from from the CMS environment out to a database while maintaining a close link between the CMS asset and the custom properties.
There are downsides with the current CustomProperty implementation in the CMS PAPI, such as:
- Every CMS developer knows (or should know) that you should never use the searching methods for CustomProperties in the CMS PAPI as they have a huge performance hit associated with them.
- You can not create CustomProperties on the fly for channels… you can only create them in Site Manager.
- CustomProperties are limited to name-value text pairs; you can’t save objects or lists without some sort of a work-around.
That’s just a few of them. What I’ve done is build a tiny database schema consisting of a table and a handful of stored procedures and a lightweight assembly to manage the logic of maintaining and accessing CustomProperties in a database. The naming conventions and schema are fairly similar to the CMS PAPI naming conventions.
I’ve written an article explaining the CustomPropertyDbEx as well as some code examples, sample applications, and help files… you can read about it here. Or you can just download the solution below which includes the database DDL scripts, sample console project, and the CustomPropertyDbEx assembly. They were in source control, so you’ll get some errors when opening the solution. Just click though them.
Check the following post for an updated version of the project: CustomPropertyDbEx v2 Released

author
Andrew Connell
Microsoft MVP, Full-Stack Developer & Chief Course Artisan - Voitanos LLC.
Andrew Connell is a full stack developer who focuses on Microsoft Azure & Microsoft 365. He’s a 20+ year recipient of Microsoft’s MVP award and has helped thousands of developers through the various courses he’s authored & taught. Whether it’s an introduction to the entire ecosystem, or a deep dive into a specific software, his resources, tools, and support help web developers become experts in the Microsoft 365 ecosystem, so they can become irreplaceable in their organization.