CRM 2011 Xrm。审核记录返回系统用户,而不是已记录的用户

时间:2018-07-24 19:44:50

标签: c# dynamics-crm crm xrm

我使用CRM 2011 SDK创建了应用程序。

在检索审核记录时,我使用推荐的代码。 我的代码如下:

using (_serviceProxy = ServerConnection.GetOrganizationProxy(serverConfig))
{
    _service = (IOrganizationService)_serviceProxy;
    RetrieveRecordChangeHistoryRequest changeRequest = new RetrieveRecordChangeHistoryRequest();
    changeRequest.Target = new EntityReference(Static.IncidnentsEntityName, new Guid(id));

    RetrieveRecordChangeHistoryResponse changeResponse =
                        (RetrieveRecordChangeHistoryResponse)_service.Execute(changeRequest);

    return changeResponse.AuditDetailCollection.AuditDetails.SelectMany(s => createAuditRecord(s)).ToList();
}

其中createAuditRecord函数只是解压缩属性。有一个名为userid的属性,但它总是返回系统用户,在该用户下我的应用程序正在调用CRM,但不是登录的用户。

直接查询SQL时,我发现有关于登录用户的信息。

enter image description here

是否有某种方法可以提取这些信息而无需直接从DB中提取数据?

1 个答案:

答案 0 :(得分:0)

如果用于外部使用或报告,我更喜欢直接从数据库中提取信息。它速度更快,您可以进行更复杂的查询,并且可以节省大量时间。使用SDK读取数据除了确保在下一版本中将得到支持并在线支持之外,没有其他价值。