locked
Retrieve all attribute in an entity RRS feed

  • Question

  • I want to get all the attributes present in an entity for CRM 4.0 using metadataservice. Please provide link or code snippet.

     

    Thanks in advance

    Thursday, April 7, 2011 1:51 PM

Answers

  • SDK has the code you need.

    // =====================================================================
    // File:		Program.cs
    // Summary:	This sample shows how to use the metadata service.
    // =====================================================================
    //
    // This file is part of the Microsoft CRM SDK Code Samples.
    //
    // Copyright (C) Microsoft Corporation. All rights reserved.
    //
    // This source code is intended only as a supplement to Microsoft
    // Development Tools and/or on-line documentation. See these other
    // materials for detailed information regarding Microsoft code samples.
    //
    // THIS CODE AND INFORMATION ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
    // KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
    // IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
    // PARTICULAR PURPOSE.
    //
    // =====================================================================
    using System;
    using System.Collections.Generic;
    using System.Text;
    using System.IO;
    using System.Xml;
    
    // Microsoft CRM namespace(s)
    using CrmSdk2007;
    //using Microsoft.Crm.Sdk.Walkthrough.MetadataSdk;
    
    namespace Microsoft.Crm.Sdk.Walkthrough
    {
      public class Metadata
      {
        static void Main(string[] args)
        {
          String entity = "annotation";
    
          if (args.Length != 0)
            entity = args[0];
    
          Run(entity);
        }
    
        public static bool Run(string entity)
        {
          // Create an authentication token.
          CrmAuthenticationToken token = new CrmAuthenticationToken();
    		  token.OrganizationName = "AdventureWorksCycle";
    
          // You can use enums.cs from the SDK\Helpers folder to get the enumeration for AD Authentication.
    		  token.AuthenticationType = 0; 
    
          // Create the metadata Web service.
          MetadataService service = new MetadataService();
          // ToDo: Change to your server name.
          service.Url = "http://localhost/MSCRMServices/2007/MetadataService.asmx";
          service.CrmAuthenticationTokenValue = token;
          service.Credentials = System.Net.CredentialCache.DefaultCredentials;
    
          try
          {
            // Retrieve the timestamp.
            RetrieveTimestampRequest request = new RetrieveTimestampRequest();
            RetrieveTimestampResponse response = (RetrieveTimestampResponse)service.Execute(request);
            System.Console.WriteLine(response.Timestamp.ToString());
    
            // Retrieve the metadata for the specified entity.
            RetrieveEntityRequest entityRequest = new RetrieveEntityRequest();
            entityRequest.LogicalName = entity;
    
            // Set the amount of data to retrieve.
            // For better performance, do not retrieve All unless you really need it.
            entityRequest.EntityItems = EntityItems.All;
    
            RetrieveEntityResponse entityResponse = (RetrieveEntityResponse)service.Execute(entityRequest);
    
            // Create an instance of StreamWriter to write text to a file.
            // The using statement also closes the StreamWriter.
            using (StreamWriter sw = new StreamWriter(String.Concat(entityRequest.LogicalName, ".xml")))
            {
              // Create the XML writer.
              XmlTextWriter metadataWriter = new XmlTextWriter(sw);
    
              // Start the XML file.
              metadataWriter.WriteStartDocument();
    
    #region entity
              // Start the entity node.
              metadataWriter.WriteStartElement("Entity");
    
              // Write the entity metadata.
              metadataWriter.WriteElementString("Name",
                      entityResponse.EntityMetadata.LogicalName);
    
              // Expand to write the metadata for languages other than the first.
              if (entityResponse.EntityMetadata.DisplayName.LocLabels.Length != 0)
              {
                metadataWriter.WriteElementString("DisplayName",
                  entityResponse.EntityMetadata.DisplayName.LocLabels[0].Label);
                metadataWriter.WriteElementString("LanguageCode",
                        entityResponse.EntityMetadata.DisplayName.LocLabels[0].LanguageCode.Value.ToString());
              }
    
              metadataWriter.WriteElementString("IsAvailableOffline",
                      entityResponse.EntityMetadata.IsAvailableOffline.Value.ToString());
              metadataWriter.WriteElementString("IsCustomEntity",
                      entityResponse.EntityMetadata.IsCustomEntity.Value.ToString());
              metadataWriter.WriteElementString("IsCustomizable",
                      entityResponse.EntityMetadata.IsCustomizable.Value.ToString());
              metadataWriter.WriteElementString("IsIntersect",
                      entityResponse.EntityMetadata.IsIntersect.Value.ToString());
              metadataWriter.WriteElementString("ObjectTypeCode",
                      entityResponse.EntityMetadata.ObjectTypeCode.Value.ToString());
              metadataWriter.WriteElementString("OwnershipType",
                      entityResponse.EntityMetadata.OwnershipType.Value.ToString());
              metadataWriter.WriteElementString("PrimaryField",
                      entityResponse.EntityMetadata.PrimaryField);
              metadataWriter.WriteElementString("PrimaryKey",
                      entityResponse.EntityMetadata.PrimaryKey);
              metadataWriter.WriteElementString("ReportViewName",
                      entityResponse.EntityMetadata.ReportViewName);
    
    #endregion
    
    #region attributes
              // Write the attributes for the entity.
              metadataWriter.WriteStartElement("Attributes");
    
              foreach (AttributeMetadata am in entityResponse.EntityMetadata.Attributes)
              {
                // Start the attribute node.
                metadataWriter.WriteStartElement("Attribute");
    
                // Write the metadata for the attribute.
                metadataWriter.WriteElementString("Name", am.LogicalName.ToString());
                metadataWriter.WriteElementString("AttributeType", am.AttributeType.Value.ToString());
                if (am.AggregateOf != null)
                  metadataWriter.WriteElementString("AggregateOf", am.AggregateOf);
                if (am.AttributeOf != null)
                  metadataWriter.WriteElementString("AttributeOf", am.AttributeOf);
                if (am.DefaultValue != null)
                  metadataWriter.WriteElementString("DefaultValue", am.DefaultValue.ToString());
                metadataWriter.WriteElementString("DisplayMask", am.DisplayMask.Value.ToString());
    
                // Expand to write the metadata for languages other than the first.
                if (am.DisplayName.LocLabels.Length != 0)
                {
                  metadataWriter.WriteElementString("DisplayName",
                    am.DisplayName.LocLabels[0].Label);
                  metadataWriter.WriteElementString("LanguageCode",
                    am.DisplayName.LocLabels[0].LanguageCode.Value.ToString());
                }
    
                metadataWriter.WriteElementString("IsCustomField",
                  am.IsCustomField.Value.ToString());
                metadataWriter.WriteElementString("RequiredLevel",
                        am.RequiredLevel.Value.ToString());
                metadataWriter.WriteElementString("ValidForCreate",
                        am.ValidForCreate.Value.ToString());
                metadataWriter.WriteElementString("ValidForRead",
                        am.ValidForRead.Value.ToString());
                metadataWriter.WriteElementString("ValidForUpdate",
                        am.ValidForUpdate.Value.ToString());
    
                // End attribute node.
                metadataWriter.WriteEndElement();
    
              }
    
              // End attributes node.
              metadataWriter.WriteEndElement();
    
    #endregion
    #region References From
              // Start the one to many (references from) node.
              metadataWriter.WriteStartElement("OneToMany");
    
              foreach (RelationshipMetadata refFrom in entityResponse.EntityMetadata.OneToManyRelationships)
              {
                // Start the relationship node.
                metadataWriter.WriteStartElement("Relationship");
    				    if (refFrom is OneToManyMetadata)
    				    {
    					    OneToManyMetadata currentRelationship = refFrom as OneToManyMetadata;
    
                  metadataWriter.WriteElementString("SchemaName", currentRelationship.SchemaName.ToString());
    
                  metadataWriter.WriteElementString("IsCustomRelationship",
                    currentRelationship.IsCustomRelationship.Value.ToString());
    
    
                  metadataWriter.WriteElementString("ReferencedEntity", currentRelationship.ReferencedEntity.ToString());
                  metadataWriter.WriteElementString("ReferencedAttribute", currentRelationship.ReferencedAttribute.ToString());
                  metadataWriter.WriteElementString("ReferencingEntity", currentRelationship.ReferencingEntity.ToString());
                  metadataWriter.WriteElementString("ReferencingAttribute", currentRelationship.ReferencingAttribute.ToString());
                }
    
    
                // End reference node.
                metadataWriter.WriteEndElement();
              }
    
              // End man to one (references from) node.
              metadataWriter.WriteEndElement();
    #endregion
    
    #region Many To Many
              // Start the many to many node.
              metadataWriter.WriteStartElement("ManyToMany");
    
              foreach (RelationshipMetadata refFrom in entityResponse.EntityMetadata.ManyToManyRelationships)
              {
                // Start the relationship node.
                metadataWriter.WriteStartElement("Relationship");
                if (refFrom is ManyToManyMetadata)
                {
                  ManyToManyMetadata currentRelationship = refFrom as ManyToManyMetadata;
    
                  metadataWriter.WriteElementString("SchemaName", currentRelationship.SchemaName.ToString());
    
                  metadataWriter.WriteElementString("IsCustomRelationship",
                    currentRelationship.IsCustomRelationship.Value.ToString());
    
                  metadataWriter.WriteElementString("Entity1", currentRelationship.Entity1LogicalName.ToString());
                  metadataWriter.WriteElementString("Entity2", currentRelationship.Entity2LogicalName.ToString());
                }
    
    
                // End reference node.
                metadataWriter.WriteEndElement();
              }
    
              // End man to one (references from) node.
              metadataWriter.WriteEndElement();
              #endregion
    
              #region References To
              // Start the many to one (references from) node.
              metadataWriter.WriteStartElement("ManyToOne");
    
              foreach (RelationshipMetadata refFrom in entityResponse.EntityMetadata.ManyToOneRelationships)
              {
                // Start the relationship node.
                metadataWriter.WriteStartElement("Relationship");
                if (refFrom is OneToManyMetadata)
                {
                  OneToManyMetadata currentRelationship = refFrom as OneToManyMetadata;
    
                  metadataWriter.WriteElementString("SchemaName", currentRelationship.SchemaName.ToString());
    
                  metadataWriter.WriteElementString("IsCustomRelationship",
                    currentRelationship.IsCustomRelationship.Value.ToString());
    
    
                  metadataWriter.WriteElementString("ReferencedEntity", currentRelationship.ReferencedEntity.ToString());
                  metadataWriter.WriteElementString("ReferencedAttribute", currentRelationship.ReferencedAttribute.ToString());
                  metadataWriter.WriteElementString("ReferencingEntity", currentRelationship.ReferencingEntity.ToString());
                  metadataWriter.WriteElementString("ReferencingAttribute", currentRelationship.ReferencingAttribute.ToString());
                }
    
    
                // End reference node.
                metadataWriter.WriteEndElement();
              }
    
              // End man to one (references from) node.
              metadataWriter.WriteEndElement();
              #endregion
    
    #region Privileges
              // Start the privileges node.
              metadataWriter.WriteStartElement("Privileges");
    
              foreach (SecurityPrivilegeMetadata priv in entityResponse.EntityMetadata.Privileges)
              {
                // Start the privilege node.
                metadataWriter.WriteStartElement("Privilege");
    
                metadataWriter.WriteElementString("Name", priv.Name.ToString());
    
                metadataWriter.WriteElementString("PrivilegeType",
                        priv.PrivilegeType.Value.ToString());
    
                metadataWriter.WriteElementString("PrivilegeId",
                  priv.PrivilegeId.Value.ToString());
    
    
                // End privilege node.
                metadataWriter.WriteEndElement();
              }
    
              // End privileges node.
              metadataWriter.WriteEndElement();
     #endregion
    
              // End entity node.
              metadataWriter.WriteEndElement();
              metadataWriter.WriteEndDocument();
    
              // Close XML writer.
              metadataWriter.Close();
    
            }
            return true;
          }
          // Handle any Web service exceptions that might be thrown.
          catch (System.Web.Services.Protocols.SoapException ex)
          {
            // TODO Handle the exception thrown.
            if (true) // ex.Code.ToString() == 0x8004A101
            {
              Console.WriteLine("Request Failed.\n {0}", ex.Message);
            }
            else
            {
              // Handle other soap exceptions.
            }
            return false;
          }
        }
      }
    
    
    }
    


    Hope this helps. Amar

    CRM Forum Guidance on how to Help Us Help You

    Thursday, April 7, 2011 1:59 PM

All replies

  • SDK has the code you need.

    // =====================================================================
    // File:		Program.cs
    // Summary:	This sample shows how to use the metadata service.
    // =====================================================================
    //
    // This file is part of the Microsoft CRM SDK Code Samples.
    //
    // Copyright (C) Microsoft Corporation. All rights reserved.
    //
    // This source code is intended only as a supplement to Microsoft
    // Development Tools and/or on-line documentation. See these other
    // materials for detailed information regarding Microsoft code samples.
    //
    // THIS CODE AND INFORMATION ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
    // KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
    // IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
    // PARTICULAR PURPOSE.
    //
    // =====================================================================
    using System;
    using System.Collections.Generic;
    using System.Text;
    using System.IO;
    using System.Xml;
    
    // Microsoft CRM namespace(s)
    using CrmSdk2007;
    //using Microsoft.Crm.Sdk.Walkthrough.MetadataSdk;
    
    namespace Microsoft.Crm.Sdk.Walkthrough
    {
      public class Metadata
      {
        static void Main(string[] args)
        {
          String entity = "annotation";
    
          if (args.Length != 0)
            entity = args[0];
    
          Run(entity);
        }
    
        public static bool Run(string entity)
        {
          // Create an authentication token.
          CrmAuthenticationToken token = new CrmAuthenticationToken();
    		  token.OrganizationName = "AdventureWorksCycle";
    
          // You can use enums.cs from the SDK\Helpers folder to get the enumeration for AD Authentication.
    		  token.AuthenticationType = 0; 
    
          // Create the metadata Web service.
          MetadataService service = new MetadataService();
          // ToDo: Change to your server name.
          service.Url = "http://localhost/MSCRMServices/2007/MetadataService.asmx";
          service.CrmAuthenticationTokenValue = token;
          service.Credentials = System.Net.CredentialCache.DefaultCredentials;
    
          try
          {
            // Retrieve the timestamp.
            RetrieveTimestampRequest request = new RetrieveTimestampRequest();
            RetrieveTimestampResponse response = (RetrieveTimestampResponse)service.Execute(request);
            System.Console.WriteLine(response.Timestamp.ToString());
    
            // Retrieve the metadata for the specified entity.
            RetrieveEntityRequest entityRequest = new RetrieveEntityRequest();
            entityRequest.LogicalName = entity;
    
            // Set the amount of data to retrieve.
            // For better performance, do not retrieve All unless you really need it.
            entityRequest.EntityItems = EntityItems.All;
    
            RetrieveEntityResponse entityResponse = (RetrieveEntityResponse)service.Execute(entityRequest);
    
            // Create an instance of StreamWriter to write text to a file.
            // The using statement also closes the StreamWriter.
            using (StreamWriter sw = new StreamWriter(String.Concat(entityRequest.LogicalName, ".xml")))
            {
              // Create the XML writer.
              XmlTextWriter metadataWriter = new XmlTextWriter(sw);
    
              // Start the XML file.
              metadataWriter.WriteStartDocument();
    
    #region entity
              // Start the entity node.
              metadataWriter.WriteStartElement("Entity");
    
              // Write the entity metadata.
              metadataWriter.WriteElementString("Name",
                      entityResponse.EntityMetadata.LogicalName);
    
              // Expand to write the metadata for languages other than the first.
              if (entityResponse.EntityMetadata.DisplayName.LocLabels.Length != 0)
              {
                metadataWriter.WriteElementString("DisplayName",
                  entityResponse.EntityMetadata.DisplayName.LocLabels[0].Label);
                metadataWriter.WriteElementString("LanguageCode",
                        entityResponse.EntityMetadata.DisplayName.LocLabels[0].LanguageCode.Value.ToString());
              }
    
              metadataWriter.WriteElementString("IsAvailableOffline",
                      entityResponse.EntityMetadata.IsAvailableOffline.Value.ToString());
              metadataWriter.WriteElementString("IsCustomEntity",
                      entityResponse.EntityMetadata.IsCustomEntity.Value.ToString());
              metadataWriter.WriteElementString("IsCustomizable",
                      entityResponse.EntityMetadata.IsCustomizable.Value.ToString());
              metadataWriter.WriteElementString("IsIntersect",
                      entityResponse.EntityMetadata.IsIntersect.Value.ToString());
              metadataWriter.WriteElementString("ObjectTypeCode",
                      entityResponse.EntityMetadata.ObjectTypeCode.Value.ToString());
              metadataWriter.WriteElementString("OwnershipType",
                      entityResponse.EntityMetadata.OwnershipType.Value.ToString());
              metadataWriter.WriteElementString("PrimaryField",
                      entityResponse.EntityMetadata.PrimaryField);
              metadataWriter.WriteElementString("PrimaryKey",
                      entityResponse.EntityMetadata.PrimaryKey);
              metadataWriter.WriteElementString("ReportViewName",
                      entityResponse.EntityMetadata.ReportViewName);
    
    #endregion
    
    #region attributes
              // Write the attributes for the entity.
              metadataWriter.WriteStartElement("Attributes");
    
              foreach (AttributeMetadata am in entityResponse.EntityMetadata.Attributes)
              {
                // Start the attribute node.
                metadataWriter.WriteStartElement("Attribute");
    
                // Write the metadata for the attribute.
                metadataWriter.WriteElementString("Name", am.LogicalName.ToString());
                metadataWriter.WriteElementString("AttributeType", am.AttributeType.Value.ToString());
                if (am.AggregateOf != null)
                  metadataWriter.WriteElementString("AggregateOf", am.AggregateOf);
                if (am.AttributeOf != null)
                  metadataWriter.WriteElementString("AttributeOf", am.AttributeOf);
                if (am.DefaultValue != null)
                  metadataWriter.WriteElementString("DefaultValue", am.DefaultValue.ToString());
                metadataWriter.WriteElementString("DisplayMask", am.DisplayMask.Value.ToString());
    
                // Expand to write the metadata for languages other than the first.
                if (am.DisplayName.LocLabels.Length != 0)
                {
                  metadataWriter.WriteElementString("DisplayName",
                    am.DisplayName.LocLabels[0].Label);
                  metadataWriter.WriteElementString("LanguageCode",
                    am.DisplayName.LocLabels[0].LanguageCode.Value.ToString());
                }
    
                metadataWriter.WriteElementString("IsCustomField",
                  am.IsCustomField.Value.ToString());
                metadataWriter.WriteElementString("RequiredLevel",
                        am.RequiredLevel.Value.ToString());
                metadataWriter.WriteElementString("ValidForCreate",
                        am.ValidForCreate.Value.ToString());
                metadataWriter.WriteElementString("ValidForRead",
                        am.ValidForRead.Value.ToString());
                metadataWriter.WriteElementString("ValidForUpdate",
                        am.ValidForUpdate.Value.ToString());
    
                // End attribute node.
                metadataWriter.WriteEndElement();
    
              }
    
              // End attributes node.
              metadataWriter.WriteEndElement();
    
    #endregion
    #region References From
              // Start the one to many (references from) node.
              metadataWriter.WriteStartElement("OneToMany");
    
              foreach (RelationshipMetadata refFrom in entityResponse.EntityMetadata.OneToManyRelationships)
              {
                // Start the relationship node.
                metadataWriter.WriteStartElement("Relationship");
    				    if (refFrom is OneToManyMetadata)
    				    {
    					    OneToManyMetadata currentRelationship = refFrom as OneToManyMetadata;
    
                  metadataWriter.WriteElementString("SchemaName", currentRelationship.SchemaName.ToString());
    
                  metadataWriter.WriteElementString("IsCustomRelationship",
                    currentRelationship.IsCustomRelationship.Value.ToString());
    
    
                  metadataWriter.WriteElementString("ReferencedEntity", currentRelationship.ReferencedEntity.ToString());
                  metadataWriter.WriteElementString("ReferencedAttribute", currentRelationship.ReferencedAttribute.ToString());
                  metadataWriter.WriteElementString("ReferencingEntity", currentRelationship.ReferencingEntity.ToString());
                  metadataWriter.WriteElementString("ReferencingAttribute", currentRelationship.ReferencingAttribute.ToString());
                }
    
    
                // End reference node.
                metadataWriter.WriteEndElement();
              }
    
              // End man to one (references from) node.
              metadataWriter.WriteEndElement();
    #endregion
    
    #region Many To Many
              // Start the many to many node.
              metadataWriter.WriteStartElement("ManyToMany");
    
              foreach (RelationshipMetadata refFrom in entityResponse.EntityMetadata.ManyToManyRelationships)
              {
                // Start the relationship node.
                metadataWriter.WriteStartElement("Relationship");
                if (refFrom is ManyToManyMetadata)
                {
                  ManyToManyMetadata currentRelationship = refFrom as ManyToManyMetadata;
    
                  metadataWriter.WriteElementString("SchemaName", currentRelationship.SchemaName.ToString());
    
                  metadataWriter.WriteElementString("IsCustomRelationship",
                    currentRelationship.IsCustomRelationship.Value.ToString());
    
                  metadataWriter.WriteElementString("Entity1", currentRelationship.Entity1LogicalName.ToString());
                  metadataWriter.WriteElementString("Entity2", currentRelationship.Entity2LogicalName.ToString());
                }
    
    
                // End reference node.
                metadataWriter.WriteEndElement();
              }
    
              // End man to one (references from) node.
              metadataWriter.WriteEndElement();
              #endregion
    
              #region References To
              // Start the many to one (references from) node.
              metadataWriter.WriteStartElement("ManyToOne");
    
              foreach (RelationshipMetadata refFrom in entityResponse.EntityMetadata.ManyToOneRelationships)
              {
                // Start the relationship node.
                metadataWriter.WriteStartElement("Relationship");
                if (refFrom is OneToManyMetadata)
                {
                  OneToManyMetadata currentRelationship = refFrom as OneToManyMetadata;
    
                  metadataWriter.WriteElementString("SchemaName", currentRelationship.SchemaName.ToString());
    
                  metadataWriter.WriteElementString("IsCustomRelationship",
                    currentRelationship.IsCustomRelationship.Value.ToString());
    
    
                  metadataWriter.WriteElementString("ReferencedEntity", currentRelationship.ReferencedEntity.ToString());
                  metadataWriter.WriteElementString("ReferencedAttribute", currentRelationship.ReferencedAttribute.ToString());
                  metadataWriter.WriteElementString("ReferencingEntity", currentRelationship.ReferencingEntity.ToString());
                  metadataWriter.WriteElementString("ReferencingAttribute", currentRelationship.ReferencingAttribute.ToString());
                }
    
    
                // End reference node.
                metadataWriter.WriteEndElement();
              }
    
              // End man to one (references from) node.
              metadataWriter.WriteEndElement();
              #endregion
    
    #region Privileges
              // Start the privileges node.
              metadataWriter.WriteStartElement("Privileges");
    
              foreach (SecurityPrivilegeMetadata priv in entityResponse.EntityMetadata.Privileges)
              {
                // Start the privilege node.
                metadataWriter.WriteStartElement("Privilege");
    
                metadataWriter.WriteElementString("Name", priv.Name.ToString());
    
                metadataWriter.WriteElementString("PrivilegeType",
                        priv.PrivilegeType.Value.ToString());
    
                metadataWriter.WriteElementString("PrivilegeId",
                  priv.PrivilegeId.Value.ToString());
    
    
                // End privilege node.
                metadataWriter.WriteEndElement();
              }
    
              // End privileges node.
              metadataWriter.WriteEndElement();
     #endregion
    
              // End entity node.
              metadataWriter.WriteEndElement();
              metadataWriter.WriteEndDocument();
    
              // Close XML writer.
              metadataWriter.Close();
    
            }
            return true;
          }
          // Handle any Web service exceptions that might be thrown.
          catch (System.Web.Services.Protocols.SoapException ex)
          {
            // TODO Handle the exception thrown.
            if (true) // ex.Code.ToString() == 0x8004A101
            {
              Console.WriteLine("Request Failed.\n {0}", ex.Message);
            }
            else
            {
              // Handle other soap exceptions.
            }
            return false;
          }
        }
      }
    
    
    }
    


    Hope this helps. Amar

    CRM Forum Guidance on how to Help Us Help You

    Thursday, April 7, 2011 1:59 PM
  • I want to get all the attributes present in an entity for CRM 4.0 using metadataservice. Please provide link or code snippet.

     

    Thanks in advance


    // Create the request
    RetrieveEntityRequest entityRequest = new RetrieveEntityRequest();
    // Retrieve only the currently published changes, ignoring the changes that have
    // not been published.
    entityRequest.RetrieveAsIfPublished = false;
    entityRequest.LogicalName = EntityName.contact.ToString();
    entityRequest.EntityItems = EntityItems.IncludeAttributes;
            
    // Execute the request
    RetrieveEntityResponse entityResponse = (RetrieveEntityResponse)metadataService.Execute(entityRequest);
            
    // Access the retrieved entity
    EntityMetadata retrievedEntityMetadata = entityResponse.EntityMetadata;

     

    The EntityItems enumeration type describes which entity data to retrieve when using the RetrieveEntity message.

     

     


    vishal swami http://msdynamics4you.blogspot.com
    Thursday, April 7, 2011 2:05 PM
  • Did you find the answer you needed? 

    Jamie Miley
    http://mileyja.blogspot.com
    Linked-In Profile
    Follow Me on Twitter!
    Saturday, June 4, 2011 2:39 AM
    Moderator
  • The sdk can be used this way to get the data.  This example is in both .NET and jscript

    http://mileyja.blogspot.com/2011/05/how-to-retrieve-metadata-for-entity.html

     


    Jamie Miley
    http://mileyja.blogspot.com
    Linked-In Profile
    Follow Me on Twitter!
    Saturday, June 4, 2011 2:41 AM
    Moderator
  • I have download the SDK and I am not able to locate DLL for

    using CrmSdk2007;

    Error 1 The type or namespace name 'CrmSdk2007' could not be found (are you missing a using directive or an assembly reference?) C:\Users\paull\Downloads\CRM4\sdk\walkthroughs\metadata\cs\retrieve\Metadata.cs 27 7 metadata

    Tuesday, September 23, 2014 9:24 PM