Dynamics crm OrganizationService.Retrieve与XrmServiceContext.AccountSet

Dynamics crm OrganizationService.Retrieve与XrmServiceContext.AccountSet,dynamics-crm,dynamics-crm-2011,crm,Dynamics Crm,Dynamics Crm 2011,Crm,我正在尝试通过两种方式检索活动: 第一条路 public Entity GetEntity(NonNullable<string> entityTypeName, Guid entityId) { return _organizationService.Retrieve( entityTypeName, entityId, new ColumnSet(true)); } public ActivityPoint

我正在尝试通过两种方式检索活动:

第一条路

public Entity GetEntity(NonNullable<string> entityTypeName, Guid entityId)
{
    return
        _organizationService.Retrieve(
            entityTypeName, entityId,
            new ColumnSet(true));
}
public ActivityPointer GetServiceActivity(Guid entityId)
{
    return _xrmServiceContext.ActivityPointerSet.FirstOrDefault(x => x.Id == entityId);
}

当为entityId传递相同的guid时,为什么第一种方法返回的对象要小得多?

您试图将两个不同的对象进行比较。基础对象
实体
为该类型,而基础对象
活动类型间
为该类型


Microsoft.Xrm.Client.CrmEntity
占用空间更大的一个原因是它包含相关实体记录元数据,当您尝试访问相关实体属性时,元数据会延迟加载。因此,相关实体越多,对象就越大,在本例中,
ActivityPointInter
确实有。

非常感谢。我会给这个答案1000分。我花了这么多时间试图找到我问题的答案-我不太擅长用文档找到我需要的东西-你会采取什么步骤来尝试研究这个问题?@MeggieLuski你是如何测量对象大小的?@Nicknow它只是包括了一种叫做“关联实体”以及“所有部分”的东西——就是更多的东西