CRM 2011 使用 Func<> 在 CreateQuery 中将所有实体添加到 xrmServiceContext 中的附加实体



当我通过时

Func<EntityType,bool> sourceFunc = a => a.Name == "name";

至:

var crmEntities = m_xrmServiceContext.CreateQuery<EntityType>().Where(sourceFunc);

然后呼叫

int i = crmEntities.ToList().Count;

它将EntityType的所有实体都放在xrmServiceContext附加的实体中,即488个实体!

但是如果不是Func<>我使用原始lambda表达式,如下所示:

var crmEntities = m_xrmServiceContext.CreateQuery<EntityType>().Where(a => a.Name = "name");

然后呼叫

int i = crmEntities.ToList().Count;

它将只返回附加实体中的1个实体。

我想使用Func<>但我不认为我希望在xrm服务上下文中的附加实体中有所有这些实体。你知道为什么把它们都放在那里吗?

入侵。。解决方案是通过

Expression<Func<EntityType,bool>>

代替

Func<EntityType,bool>

它只向附加的实体返回了一个实体:)

最新更新