我正尝试使用动态实体创建新联系人。我在CRM SDK中找到的示例具有此代码。在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};
在我的代码中,我有以下实现。
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名称空间的一个变量),并将stringpropertys添加到该变量中并将其传递给实体。
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'
我相信它有一个小的类型转换错误,但我无法找出错误的位置。而且,即使这是一个类型错误,为什么它在因特网上给出的所有样本都适用,而不适合我。我试图让代码示例运行,但我遇到了相同的转换错误。请让我知道,如果你需要更多的信息,对此,任何帮助将不胜感激。