DatabaseBackedMetadataCatalog Class

Implements the IMetadataCatalog interface that works with metadata stored in the Business Connectivity Services shared service database.

Inheritance Hierarchy


Namespace:  Microsoft.SharePoint.BusinessData.MetadataModel
Assembly:  Microsoft.SharePoint (in Microsoft.SharePoint.dll)


<SharePointPermissionAttribute(SecurityAction.Demand, ObjectModel := True)> _
Public NotInheritable Class DatabaseBackedMetadataCatalog _
    Implements IMetadataCatalog, IDisposable
Dim instance As DatabaseBackedMetadataCatalog
[SharePointPermissionAttribute(SecurityAction.Demand, ObjectModel = true)]
public sealed class DatabaseBackedMetadataCatalog : IMetadataCatalog, 


DatabaseBackedMetadataCatalog provides access to Business Connectivity Services metadata in the Business Connectivity Services Shared Service database. The metadata in the database is either imported from the Business Connectivity Services Administration UI on SharePoint Foundation, or is generated using AdministrationMetadataCatalog via SharePoint Designer, Visual Studio 2010, or similar tools that allow editing or creating Business Connectivity Services metadata. This metadata catalog is capable of storing metadata separately for each tenant.

All metadata APIs in Microsoft Business Connectivity Services (BCS) operate on cached metadata and are fast with the exception of the following methods of the DatabaseBackedMetadataCatalog class. You should use the GetById(UInt32, Type) method instead to get cached metadata.


If multiple versions of an external content type exist in the BDC Metadata Store at any given time, BDC will always return the last imported version irrespective of the version number of the external content type. It is possible to have multiple versions of an external content type because external content types are globally available in Microsoft SharePoint Server 2010. For more information, see Entity Namespace Concept.


Object instances obtained from an instance of DatabaseBackedMetadataCatalog for a BdcServiceApplicationProxy can only be used with object instances obtained from instances of DatabaseBackedMetadataCatalog for the same BdcServiceApplicationProxy. Using incompatible object instances with each other causes data corruption and other unexpected behavior.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

See Also


DatabaseBackedMetadataCatalog Members

Microsoft.SharePoint.BusinessData.MetadataModel Namespace