Je tente de créer un nouveau contact à l'aide de l'entité dynamique. L'exemple que j'ai trouvé dans CRM SDK avait ce code.Création d'entités dynamiques dans MS CRM 4.0
// Set the properties of the contact using property objects.
StringProperty firstname = new StringProperty();
firstname.Name = "firstname";
firstname.Value = "Jesper";
StringProperty lastname = new StringProperty();
lastname.Name = "lastname";
lastname.Value = "Aaberg";
// Create the DynamicEntity object.
DynamicEntity contactEntity = new DynamicEntity();
// Set the name of the entity type.
contactEntity.Name = EntityName.contact.ToString();
// Set the properties of the contact.
contactEntity.Properties = new Property[] {firstname, lastname};
Dans mon code j'ai l'implémentation suivante.
StringProperty sp_Field1 = new StringProperty("Field1","Value1");
StringProperty sp_Field2 = new StringProperty("Field2","Value1");
CrmService service = new CrmService();
service.Credentials = System.Net.CredentialCache.DefaultCredentials;
// Create the DynamicEntity object.
DynamicEntity contactEntity = new DynamicEntity();
// Set the name of the entity type.
contactEntity.Name = EntityName.contact.ToString();
// Set the properties of the contact.
contactEntity.Properties = new Property[] {sp_Field1,sp_Field2};
Je ne vois pas beaucoup de différences dans le code. Dans les exemples que j'ai trouvés sur internet, j'ai la même implémentation que celle trouvée dans SDK. Mais si je lance le même que je reçois l'erreur suivante
CS0029: ne peut pas convertir implicitement le type « Microsoft.Crm.Sdk.StringProperty » à « Microsoft.Crm.Sdk.PropertyCollection »
J'ai essayé a créé une nouvelle variable de type PropertyCollection (une qui appartient à l'espace de noms mscrm) et a ajouté le stringpropertys dans celui-ci et l'a passé à l'entité.
Microsoft.Crm.Sdk.PropertyCollection propTest = new Microsoft.Crm.Sdk.PropertyCollection();
propTest.Add(sp_SSNNo);
propTest.Add(sp_FirstName);
contactEntity.Properties = new Property[] {propTest};
Cela m'a donné l'erreur suivante
CS0029: ne peut pas convertir implicitement le type 'Microsoft.Crm.Sdk.PropertyCollection' à 'Microsoft.Crm.Sdk.Property'
Je suis sûr que c'est une erreur mineure de typecasting mais je ne suis pas capable de comprendre où l'erreur est. Et de plus, même s'il s'agissait d'une erreur de typographie, pourquoi cela fonctionne-t-il pour tous les échantillons donnés sur Internet et non pour moi? J'ai essayé d'obtenir l'exemple de code à exécuter mais je rencontre la même erreur de conversion. S'il vous plaît laissez-moi savoir si vous avez besoin de plus d'informations à ce sujet, toute aide à ce sujet serait appréciée.