using System;
using Microsoft.EntityFrameworkCore;
using System.Linq;
using System.Linq.Expressions;
namespace Start.Server.Extensions {
/// Extension methods for LINQ queries
public static class LinqExtensions {
///
/// If is true, then returns query.Where(expression).
/// Otherwise returns the unchanged.
///
/// The query to potentially apply the expression to
///
/// Determines whether or not the expression should be applied
///
/// A function to test each element
public static IQueryable IfWhere(this IQueryable query, bool condition,
Expression> expression) {
if (condition)
return query.Where(expression);
return query;
}
///
/// If the is true, apply the to
/// the query, otherwise return the query unchanged.
///
/// The 's type
/// The query to potentially transform
///
/// If true, apply the to the
///
///
/// A function to apply to the if the
/// is true
///
public static IQueryable If(this IQueryable query, bool condition,
Func, IQueryable> transform) {
if (condition)
return transform(query);
return query;
}
}
}