RetrieveMetadataChangesRequest Class
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Contains the data that is needed to retrieve a collection of EntityMetadata records that satisfy the specified criteria.
The RetrieveMetadataChangesResponse returns a ServerVersionStamp value that can be used with this request at a later time to return information about how schema definitions have changed since the last request.
public ref class RetrieveMetadataChangesRequest sealed : Microsoft::Xrm::Sdk::OrganizationRequest
[System.Runtime.Serialization.DataContract(Namespace="http://schemas.microsoft.com/xrm/2011/Contracts")]
public sealed class RetrieveMetadataChangesRequest : Microsoft.Xrm.Sdk.OrganizationRequest
[<System.Runtime.Serialization.DataContract(Namespace="http://schemas.microsoft.com/xrm/2011/Contracts")>]
type RetrieveMetadataChangesRequest = class
inherit OrganizationRequest
Public NotInheritable Class RetrieveMetadataChangesRequest
Inherits OrganizationRequest
- Inheritance
- Attributes
Examples
The following example shows how to use this message. For this sample to work correctly, you must be connected to the server to get an IOrganizationService interface instance.
/// <summary>
/// Get the SchemaName for the account and contact tables together with
/// the LogicalName of any columns that are valid for create
/// </summary>
/// <param name="service">Authenticated IOrganizationService instance</param>
static void SimpleRetrieveMetadataChangesExample(IOrganizationService service) {
var query = new EntityQueryExpression
{
Properties = new MetadataPropertiesExpression("SchemaName", "Attributes"),
Criteria = new MetadataFilterExpression(filterOperator: LogicalOperator.Or)
{
Conditions = {
{
new MetadataConditionExpression(
propertyName:"LogicalName",
conditionOperator: MetadataConditionOperator.Equals,
value:"account")
},
{
new MetadataConditionExpression(
propertyName:"LogicalName",
conditionOperator: MetadataConditionOperator.Equals,
value:"contact")
}
},
},
AttributeQuery = new AttributeQueryExpression
{
Properties = new MetadataPropertiesExpression("LogicalName"),
Criteria = new MetadataFilterExpression(filterOperator: LogicalOperator.And)
{
Conditions = {
{
new MetadataConditionExpression(
propertyName:"IsValidForCreate",
conditionOperator: MetadataConditionOperator.Equals,
value:true)
}
}
}
},
LabelQuery = new LabelQueryExpression {
FilterLanguages = {
{ 1033 }
}
}
};
var request = new RetrieveMetadataChangesRequest
{
Query = query
};
var response = (RetrieveMetadataChangesResponse)service.Execute(request);
response.EntityMetadata.ToList().ForEach(em => {
Console.WriteLine($"Entity SchemaName:{em.SchemaName}");
em.Attributes.ToList().ForEach(a => {
Console.WriteLine($"\tAttribute LogicalName:{a.LogicalName}");
});
});
}
Output:
Entity SchemaName:Account
Attribute LogicalName:emailaddress3
Attribute LogicalName:emailaddress1
Attribute LogicalName:address1_city
<List truncated for brevity>
Entity SchemaName:Contact
Attribute LogicalName:contactid
Attribute LogicalName:emailaddress3
Attribute LogicalName:emailaddress2
<List truncated for brevity>
Sample code on GitHub
RetrieveMetadataChanges Sample
Remarks
Usage
Pass an instance of this class to the Execute(OrganizationRequest) method, which returns an instance of RetrieveMetadataChangesResponse.
Notes for Callers
This message provides two capabilities:
Query: Compose a single query to retrieve just the schema data you need. Learn how to query schema definitions.
Cache Management: Caching may result in a significant improvement time for your application to start. If you cache the schema definition data with your app, you can use
RetrieveMetadataChanges
to efficiently retrieve only the changes since your last query. Use the information about these changes to add or remove items in your cache. Learn how to cache schema data.
Constructors
RetrieveMetadataChangesRequest() |
Initializes a new instance of the RetrieveMetadataChangesRequest class. |
Properties
ClientVersionStamp |
Gets or sets a timestamp value representing when the last request was made. |
DeletedMetadataFilters |
Gets or sets a value to filter what deleted metadata items will be returned. |
ExtensionData |
Gets or sets the structure that contains extra data. Optional. (Inherited from OrganizationRequest) |
Item[String] |
Gets or sets the indexer for the |
Parameters |
Gets or sets the collection of parameters for the request. Required, but is supplied by derived classes. (Inherited from OrganizationRequest) |
Query |
Gets or sets the query representing the metadata to return. |
RequestId |
Gets or sets the ID of the request. Optional. (Inherited from OrganizationRequest) |
RequestName |
Gets or sets the name of the request. Required, but is supplied by derived classes. (Inherited from OrganizationRequest) |
RetrieveAllSettings |
For internal use only. |