public virtual T Item(T item) { var applied = PartialApplier.PartialApply(KeyCompare, item); var result = (Select().SingleOrDefault(applied)); return(result); }
public static Expression <Func <T2, TResult> > PartialApply <T, T2, TResult>(Expression <Func <T, T2, TResult> > expression, T value) { var result = new PartialApplier(expression.Parameters.First(), value).Visit(expression.Body); return((Expression <Func <T2, TResult> >)Expression.Lambda(result, expression.Parameters.Skip(1))); }