用途:
条件が入っている時にのみフィルタリングするような場面で使用
public static IQueryable<TSource> WhereIf<TSource>(this IQueryable<TSource> Source, bool Condition, Expression<Func<TSource, bool>> Predicate)
{
if (Condition)
return Source.Where(Predicate);
else
return Source;
}
第一パラメタの引数がTrueである場合のみ、フィルタリングをして返す。
使用例
return _dbContext.M_Item.WhereIf(!string.IsNullOrEmpty(itemSearchKey.ItemNm), item => item.ItemNm == itemSearchKey.ItemNm);
ItemNmが入っている時のみ、ItemNmの比較でのフィルタリングを行う。