更新时间:2023-01-29 22:32:26
你可以使用 LinqKit 为此:
var expr = PredicateBuilder.False<Deal>();
foreach(var range in criteria.DateRanges)
expr = expr.Or(d => dt.CloseDate >= range.Start && dt.CloseDate < range.End);
deals = deals.AsExpandable().Where(expr);
另一种选择是使用 表达式树 但这似乎是对于你想要做的事情有点矫枉过正.
Another option would be to use Expression Trees but that seems a bit overkill for what you're trying to do.