private void ApplyEntityFilter() { if (EntityFilter.Any()) { RetrieveMultipleFuncs.Add((s, q) => { var qe = q as QueryExpression; if (qe == null) { return(s.RetrieveMultiple(q)); } foreach (var entityGroup in EntityFilter) { var idLogicalName = EntityHelper.GetIdAttributeName(entityGroup.Key); foreach (var filter in qe.GetEntityFilters(entityGroup.Key)) { filter.AddConditionEnforceAndFilterOperator(new ConditionExpression(idLogicalName, ConditionOperator.In, entityGroup.Value.Select(i => (object)i).ToArray())); } } return(s.RetrieveMultiple(q)); }); } }