Extend Sitefinity CMS data model: Create the provider class
After you create the fluent mappings, you create the custom provider class.
Sitefinity's CMS architecture is based on the provider model design pattern, which provides a number of extensibility possibilities. The provider class in this example inherits from the OpenAccessPageProvider class that stores and retrieves page data. The exposed methods in the CustomPageProvider are used to create and retrieve objects from the database context.
To create the custom provider class, perform the following:
- In Visual Studio, open the context menu of the CustomTypes project and click Add » Class.
- Name the class file CustomPageProvider.cs and click Add.
- Make the CustomPageProvider class inherit the OpenAccessPageProvider class and implement the IOpenAccessMetadataProvider interface.
IYou use the ContentProviderDecoratorAttribute to tell the provider class which data provider decorator to use.
- Implement the GetMetaDataSource method to return the CustomMetaDataSource.
- Implement the following operations:
- Create custom type
- Get custom type
- Get custom types
- Delete custom type
Use the following code sample: