using Microsoft.EntityFrameworkCore;
using System;
using System.Linq;
using System.Linq.Expressions;
namespace LifePayment.Domain.Shared;
public static class IQueryableExtensions
{
///
/// 当条件为true时为IQueryable附加where,注:如果条件为true会更新source
///
///
///
///
///
///
public static IQueryable WhereIfWithUpdateSource(this IQueryable source, bool condition, Expression> wherePredicate)
{
if (condition)
source = source.Where(wherePredicate);
return source;
}
///
/// 当条件为true时为IQueryable附加include,注:如果条件为true会更新source
///
///
///
///
///
///
///
public static IQueryable IncludeIf(this IQueryable source, bool condition, Expression> navigationPropertyPath) where T : class
{
if (condition)
source = source.Include(navigationPropertyPath);
return source;
}
}