Closed dazinator closed 10 years ago
Need to add support for querying CRM Entity Metadata via SELECT statements.
CrmAdo will build a "RetrieveMetadataChangesRequest" message from the SQL select statement.
Example select statement that demonstrates the entity metadata that will be able to be queried:
SELECT -- Entity Metadata Columns -- e.MetadataId, e.HasChanged, e.ActivityTypeMask, e.Attributes, e.AutoRouteToOwnerQueue, e.CanBeInManyToMany, e.CanBePrimaryEntityInRelationship, e.CanBeRelatedEntityInRelationship, e.CanCreateAttributes, e.CanCreateCharts, e.CanCreateForms, e.CanCreateViews, e.CanModifyAdditionalSettings, e.CanTriggerWorkflow, e.Description, e.DisplayCollectionName, e.DisplayName, e.IconLargeName, e.IconMediumName, e.IconSmallName, e.IsActivity, e.IsActivityParty, e.IsAuditEnabled, e.IsAvailableOffline, e.IsChildEntity, e.IsConnectionsEnabled, e.IsCustomEntity, e.IsCustomizable, e.IsDocumentManagementEnabled, e.IsDuplicateDetectionEnabled, e.IsEnabledForCharts, e.IsImportable, e.IsIntersect, e.IsMailMergeEnabled, e.IsMailMergeEnabled, e.IsManaged, e.IsMappable, e.IsReadingPaneEnabled, e.IsRenameable, e.IsValidForAdvancedFind, e.IsValidForQueue, e.IsVisibleInMobile, e.LogicalName, e.IsCustomEntity, e.ManyToManyRelationships, e.ManyToOneRelationships, e.ObjectTypeCode, e.OneToManyRelationships, e.OwnershipType, e.PrimaryIdAttribute, e.PrimaryNameAttribute, e.Privileges, e.RecurrenceBaseEntityLogicalName, e.ReportViewName, e.SchemaName, e.RecurrenceBaseEntityLogicalName , -- Attribute Metadata Columns -- a.AttributeOf, a.AttributeType, a.AttributeTypeName, a.CanBeSecuredForCreate, a.CanBeSecuredForRead, a.CanBeSecuredForUpdate, a.CanModifyAdditionalSettings, a.ColumnNumber, a.DeprecatedVersion, a.Description, a.DisplayName, a.EntityLogicalName, a.ExtensionData, a.HasChanged, a.IntroducedVersion, a.IsAuditEnabled, a.IsCustomAttribute, a.IsCustomizable, a.IsManaged, a.IsPrimaryId, a.IsPrimaryName, a.IsRenameable, a.IsSecured, a.IsValidForAdvancedFind, a.IsValidForCreate, a.IsValidForRead, a.IsValidForUpdate, a.LinkedAttributeId, a.LogicalName, a.MetadataId, a.RequiredLevel, a.SchemaName , -- One To Many Relationship Metadata Columns -- o.AssociatedMenuConfiguration, o.CascadeConfiguration, o.ExtensionData, o.HasChanged, o.IntroducedVersion, o.IsCustomizable, o.IsCustomRelationship, o.IsManaged, o.IsValidForAdvancedFind, o.MetadataId, o.ReferencedAttribute, o.ReferencedEntity, o.ReferencingAttribute, o.ReferencingEntity, o.RelationshipType, o.SchemaName, o.SecurityTypes , -- Many To Many Relationship Metadata Columns -- m.Entity1AssociatedMenuConfiguration, m.Entity1IntersectAttribute, m.Entity1LogicalName, m.Entity2AssociatedMenuConfiguration, m.Entity2IntersectAttribute, m.Entity2LogicalName, m.ExtensionData, m.HasChanged, m.IntersectEntityName, m.IntroducedVersion, m.IsCustomizable, m.IsCustomRelationship, m.IsManaged, m.IsValidForAdvancedFind, m.MetadataId, m.RelationshipType, m.SchemaName, m.SecurityTypes , FROM EntityMetadata AS e INNER JOIN AttributeMetadata a ON e.MetadataId = a.MetadataId INNER JOIN OneToManyRelationshipMetadata o ON e.MetadataId = o.MetadataId INNER JOIN ManyToManyRelationshipMetadata m ON e.MetadataId = m.MetadataId
CrmAdo will also support a Where clause containing all the filters that the Dynamics SDK will allow for. In this way you can filter the above sql to only pull back specific entity metadata, and specific attributes / relationships etc as desired.
Can query entity and attribute metadata but not yet relationship data.
Need to add support for querying CRM Entity Metadata via SELECT statements.
CrmAdo will build a "RetrieveMetadataChangesRequest" message from the SQL select statement.
Example select statement that demonstrates the entity metadata that will be able to be queried:
CrmAdo will also support a Where clause containing all the filters that the Dynamics SDK will allow for. In this way you can filter the above sql to only pull back specific entity metadata, and specific attributes / relationships etc as desired.