当我通过时
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>
它只向附加的实体返回了一个实体:)