C# 如何将数据发布到Dynamics 365多选选取列表?

C# 如何将数据发布到Dynamics 365多选选取列表?,c#,dynamics-crm,microsoft-dynamics,dynamics-crm-365,C#,Dynamics Crm,Microsoft Dynamics,Dynamics Crm 365,我有3列,其中数据来自一个文件,如下所示 FirstName LastName Notes Tom 10001 Note 1 Bob 10002 11003 Karen 10003 11004 Renee 10004 Note 3 我需要扫描这些,并使用新的多选选择列表属性发送给Dynamics 365联系人实体 例如,我可以在MSDN上

我有3列,其中数据来自一个文件,如下所示

FirstName       LastName        Notes

Tom         10001       Note 1
Bob         10002           11003 
Karen           10003       11004
Renee           10004       Note 3
我需要扫描这些,并使用新的多选选择列表属性发送给Dynamics 365联系人实体

例如,我可以在MSDN上提供的以下内容中看到:

            OptionSetValueCollection activities = new OptionSetValueCollection();
            activities.Add(new OptionSetValue(1)); //Swimming
            activities.Add(new OptionSetValue(9)); //Camping

            Contact contact = new Contact();
            contact["firstname"] = "Wayne";
            contact["lastname"] = "Yarborough";
            contact["sample_outdooractivities"] = activities;
            _serviceProxy.Create(contact);
这将更新/创建联系人

但在我的情况下,我需要扫描表并为每一行构造一个联系人对象,还是可以创建一个对象并发送? 此外,示例\u户外活动是否也是Dynamics 365联系人实体中的一个字段? 在我的情况下,便条不会是这样的,那么我需要在那里放什么呢? 我是否必须让CRM知道它是多选选择列表,因为它是CRM中的虚拟类型?
如何使用C实现这一点?

首先,MultiSelect optionset不是一个虚拟字段,它是如下所示的物理数据类型

此外,示例\u户外活动是否也是Dynamics 365联系人实体中的一个字段

是的,sample_Outdoor Activities是其联系实体中的一种。上面的示例代码就是使用它的确切方式。确保您的字段是相同的数据类型,但是示例数据非常混乱,LastName是空的还是一些数字?Notes是一个多选选择列表,但有时有文本,有时有数字

但在我的情况下,我需要扫描表并为每一行构造一个联系人对象,还是可以创建一个对象并发送


是的,您必须从文件中读取每一行并遍历它们,设置一个要创建的新联系人对象。

我在这里有点困惑。所以,如果我从需要进入crm中的多图标列表选项的源中提取数据,那么我必须如上所述创建一个对象?如果数据类型是不同的,那么我想我必须创建一个不同的对象,这取决于具体情况。现在,如果我的数据有数字,比如骑自行车的100000000,那么我将使用OptionSetValue并查找它以获得字符串表示形式?这是对事物的正确解释还是我遗漏了什么?@Mel是的,但您的示例数据同时包含注释1和11003,这是什么?因此注释1是字符串,11003是注释的值,请发送电子邮件作为详细信息