protected GetMatchingKeys ( |
||
crit | The query being run. | |
allKeys | IEnumerable |
All the key values in the index. |
return | IList |
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;
}