internal static T?UniqueMethod(IEnumerable <T> enumerable, UniqueFunction uniqueFunction) { return(uniqueFunction switch { UniqueFunction.First => enumerable.FirstEx(), UniqueFunction.FirstOrDefault => enumerable.FirstOrDefault(), UniqueFunction.Single => enumerable.SingleEx(), UniqueFunction.SingleOrDefault => enumerable.SingleOrDefaultEx() !, _ => throw new InvalidOperationException(), });
internal T UniqueMethod(IEnumerable<T> enumerable, UniqueFunction uniqueFunction) { switch (uniqueFunction) { case UniqueFunction.First: return enumerable.FirstEx(); case UniqueFunction.FirstOrDefault: return enumerable.FirstOrDefault(); case UniqueFunction.Single: return enumerable.SingleEx(); case UniqueFunction.SingleOrDefault: return enumerable.SingleOrDefaultEx(); default: throw new InvalidOperationException(); } }
private Expression BindUniqueRow(Type resultType, UniqueFunction function, Expression source, LambdaExpression predicate) { return(AsProjection(Visit(source)).Projector); }
private Expression BindUniqueRow(Type resultType, UniqueFunction function, Expression source, LambdaExpression predicate) { return AsProjection(Visit(source)).Projector; }