Quantcast
Channel: CRM Development 論壇
Viewing all articles
Browse latest Browse all 10280

Creating records using CRM 2011 programming reference

$
0
0

Hi everyone,

What is the best way to programmatically create records in CRM for entities with custom attributes in a console app? I succeeded in doing this once using the Entity class. I am attempting to create records in CRM by reading data from a mySql database. The code below works until I start trying to enter data into custom attribute fields.

        public static void Main(string[] args)
        {
            Uri organizationUri = new Uri("http://servername/org/XRMServices/2011/Organization.svc"); 
            Uri homeRealmUri = null; 
            ClientCredentials credentials = new ClientCredentials();
            // set default credentials for OrganizationService            
            credentials.Windows.ClientCredential = System.Net.CredentialCache.DefaultNetworkCredentials; 

            OrganizationServiceProxy orgProxy = new OrganizationServiceProxy(organizationUri, homeRealmUri, credentials, null); 
            IOrganizationService _service = (IOrganizationService)orgProxy;

            DataTable dtRecords = GetDataTable();

            foreach(DataRow row in dtRecords.Rows){

                    Entity currentLead = new Entity("lead");
                    currentLead["subject"] = (string)row["Topic"];
                    currentLead["firstname"] = (string)row["First Name"];
                    currentLead["lastname"] = (string)row["Last Name"];
                    currentLead["companyname"] = (string)row["Company Name"];
                    currentLead["emailaddress1"] = (string)row["Email"];
                    currentLead["telephone1"] = (string)row["Phone"];

                    _service.Create(currentLead);

                    }

              }

I also tried doing it by using a reference to an Xrm.cs class generated by the crmsvcutil.exe tool but the code fails too and I get the error below. Thanks for your help in advance.

 

The formatter threw an exception while trying to deserialize the message: There was an error while trying to deserialize parameter http://schemas.microsoft.com/xrm/2011/Contracts/Services:entity. The InnerException message was 'Error in line 1 position 442. Element 'http://schemas.microsoft.com/xrm/2011/Contracts/Services:entity' contains data from a type that maps to the name 'Xrm:Lead'. The deserializer has no knowledge of any type that maps to this name. Consider changing the implementation of the ResolveName method on your DataContractResolver to return a non-null value for name 'Lead' and namespace 'Xrm'.'.  Please see InnerException for more details.


Viewing all articles
Browse latest Browse all 10280

Trending Articles