用途:
条件が入っている時にのみフィルタリングするような場面で使用
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の比較でのフィルタリングを行う。