Création d'Entités Dynamiques dans MS CRM 4.0
Je suis en train de créer un nouveau contact à l'aide de l'Entité Dynamique. L'exemple que j'ai trouvé dans CRM SDK eu ce code.
//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 la suite de la mise en œuvre.
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é sur internet, j'ai la même mise en œuvre que j'ai trouvé dans le SDK. Mais si je lance la même chose, j'obtiens l'erreur suivante
CS0029: Impossible de convertir implicitement le type de 'Microsoft.Crm.Sdk.StringProperty' à 'Microsoft.Crm.Sdk.PropertyCollection'
J'ai essayé de créé une nouvelle variable de type PropertyCollection(celui qui appartient à mscrm espace de noms) et ajouté le stringpropertys dans cette situation et l'a transmis à 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: Impossible de convertir implicitement le type de 'Microsoft.Crm.Sdk.PropertyCollection' à 'Microsoft.Crm.Sdk.La propriété'
Je suis sûr que c'est un mineur typecasting erreur, mais je ne suis pas en mesure de savoir où est l'erreur. Et de plus, même si c'était un typecasting erreur pourquoi est-ce de travailler pour tous les exemples donnés dans l'internet et pas pour moi. J'ai essayé le code de l'échantillon de courir, mais je rencontre la même erreur de conversion. S'il vous plaît laissez-moi savoir si vous avez besoin de plus d'info sur ce, toute aide serait appréciée.
Vous devez vous connecter pour publier un commentaire.
Voici un article de Microsoft qui fait une tentative pour discuter de ce sujet:
http://community.dynamics.com/blogs/cscrmblog/archive/2008/06/23/web-services-amp-dlls-or-what-s-up-with-all-the-duplicate-classes.aspx
Ce n'est pas un bug que vous rencontrez, mais plus d'une différence de conception entre la façon dont les deux assemblées, le travail et ce qu'ils sont conçus pour faire.
Si vous souhaitez continuer à utiliser le Microsoft.Crm.Sdk.dll vous devriez être en mesure d'atteindre votre objectif avec ce qui suit...
Grâce SaaS Développeur, que le code fonctionne bien maintenant. Encore une façon de le faire serait d'ajouter directement le StringProperty à la propriété d'entité de collecte.
Merci encore pour la réponse 🙂
Je crois que le problème, c'est que vous faites référence à la dynamique de la classe d'entité dans Microsoft.Crm.Sdk de l'assemblée. L'échantillon dans le kit de développement est à l'aide d'une référence à la CRM web service. Cela peut devenir confus que les deux ensembles contiennent un grand nombre des mêmes types, mais ils sont différents.