我正在尝试使用动态实体创建一个新联系人。我在 CRM SDK 中找到的示例有这个代码。
// 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};
在我的代码中,我有以下实现。
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};
我在代码中没有看到太大的差异。在我在互联网上找到的示例中,我的实现与在 SDK 中找到的实现相同。但是如果我运行相同,我会收到以下错误
CS0029:无法将类型“Microsoft.Crm.Sdk.StringProperty”隐式转换为“Microsoft.Crm.Sdk.PropertyCollection”
我尝试创建一个 PropertyCollection 类型的新变量(属于 mscrm 命名空间的变量)并将字符串属性添加到其中并将其传递给实体。
Microsoft.Crm.Sdk.PropertyCollection propTest = new Microsoft.Crm.Sdk.PropertyCollection();
propTest.Add(sp_SSNNo);
propTest.Add(sp_FirstName);
contactEntity.Properties = new Property[] {propTest};
这给了我以下错误
CS0029:无法将类型“Microsoft.Crm.Sdk.PropertyCollection”隐式转换为“Microsoft.Crm.Sdk.Property”
我确信这是一个小的类型转换错误,但我无法弄清楚错误在哪里。而且,即使这是一个类型转换错误,为什么它适用于互联网上给出的所有样本而不是我。我尝试让代码示例运行,但我遇到了相同的转换错误。如果您需要有关此的更多信息,请告诉我,对此的任何帮助将不胜感激。