Fis*_*ake 4 c# asp.net dynamics-crm
我正在尝试从CRM安装中提取信息,到目前为止,这对于使用默认字段很好.但是我在检索自定义字段时遇到了困难,例如,Contacts有一个名为web_username的自定义字段.
我目前的代码是
QueryExpression query = new QueryExpression();
query.EntityName = "contact";
ColumnSet cols = new ColumnSet();
cols.Attributes = new string[] { "firstname", "lastname" };
query.ColumnSet = cols;
BusinessEntityCollection beReturned = tomService.RetrieveMultiple(query);
foreach (contact _contact in beReturned.BusinessEntities)
{
DataRow dr = dt.NewRow();
dr["firstname"] = _contact.firstname;
dr["lastname"] = _contact.lastname;
dt.Rows.Add(dr);
}
Run Code Online (Sandbox Code Playgroud)
如何在查询中包含自定义字段?我已经尝试过搜索但没有运气但我可能会错误地搜索,因为我不熟悉CRM术语.
提前干杯!
我已经能够解决这个问题了.如果它对任何人都有用,这就是我所做的.除了我已将自定义字段添加到ColumnSet之外,该查询与之前一样设置.
cols.Attributes = new string[] { "firstname", "lastname", "new_web_username" };
Run Code Online (Sandbox Code Playgroud)
然后将RetrieveMultipleResponse和Request与ReturnDynamicEntities设置为true
RetrieveMultipleResponse retrived = new RetrieveMultipleResponse();
RetrieveMultipleRequest retrive = new RetrieveMultipleRequest();
retrive.Query = query;
retrive.ReturnDynamicEntities = true;
retrived = (RetrieveMultipleResponse)tomService.Execute(retrive);
Run Code Online (Sandbox Code Playgroud)
如果有更好的方法让我这样做,请仍然评论.
编辑 如果您投射到联系人,请使用我原始问题中的示例
contact myContact = (contact)myService.Retrieve(EntityName.contact.ToString(), userID, cols);
Run Code Online (Sandbox Code Playgroud)
然后,您可以访问该对象的属性
phone = myContact.telephone1;
password = myContact.new_password;
Run Code Online (Sandbox Code Playgroud)
如果您更新了您在CRM中添加的CRM Web引用自定义字段,则可以使用.
| 归档时间: |
|
| 查看次数: |
5228 次 |
| 最近记录: |