protected IList<object> GetMatchingKeys(DaoCriteria crit, IEnumerable<object> allKeys)
{
IList<AbstractSinglePropertyExpression> exprs = GetExpressionsForIndex(crit);
IList<object> retVal = new List<object>();
foreach (object key in allKeys)
{
if (exprs.Count > 0)
{
foreach (AbstractSinglePropertyExpression expr in exprs)
{
if (UnqueryableDataReader.ValueMatchesExpression(key, expr, _daLayer))
{
retVal.Add(key);
}
}
}
else
{
retVal.Add(key);
}
}
return retVal;
}