当我经过一个
Func<EntityType,bool> sourceFunc = a => a.Name == "name";
到:
var crmEntities = m_xrmServiceContext.CreateQuery<EntityType>().Where(sourceFunc);
然后打电话
int i = crmEntities.ToList().Count;
它将 EntityType 的所有实体放入 xrmServiceContext 附加实体中,即 488 个实体!
但是,如果我使用原始 lambda 表达式而不是 Func<> ,则如下所示:
var crmEntities = m_xrmServiceContext.CreateQuery<EntityType>().Where(a => a.Name = "name");
然后打电话
int i = crmEntities.ToList().Count;
它将仅返回附加实体中的 1 个实体。
我想使用 Func<> 但我不认为我希望在 xrm 服务上下文中的附加实体中拥有所有这些实体。知道为什么要把它们都放在那里吗?