日期的动态 Linq
我想构建动态 Linq。以下是我的代码,在某个日期工作正常。但用户可以从日历中选择多个日期。我需要为所有这些选定的日期制作 Linq。
saleDate = calendarSales.SelectedDate;
List<SaleDetails> saleDetials = new List<SaleDetails>();
saleDetials = GetSaleDetails();
saleDetials.Where(sale => (Convert.ToDateTime(sale.DATE_TIME).Day == saleDate.Day &&
Convert.ToDateTime(sale.DATE_TIME).Month == saleDate.Month &&
Convert.ToDateTime(sale.DATE_TIME).Year == saleDate.Year)
).ToList();
如何更新此查询?
I want to build dynamic Linq. Following is my code which works fine for one date. But user can select many dates from calendar. And I need to make Linq for all those selected dates.
saleDate = calendarSales.SelectedDate;
List<SaleDetails> saleDetials = new List<SaleDetails>();
saleDetials = GetSaleDetails();
saleDetials.Where(sale => (Convert.ToDateTime(sale.DATE_TIME).Day == saleDate.Day &&
Convert.ToDateTime(sale.DATE_TIME).Month == saleDate.Month &&
Convert.ToDateTime(sale.DATE_TIME).Year == saleDate.Year)
).ToList();
How to update this query?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您必须动态地为 where 子句构建谓词。
看一下谓词构建器。
编辑
因为 PredicateBuilder 支持
AND
和OR
运算符。使用
OR
时,您必须从False
的初始值开始:You have to build the predicate for your where clause dynamically.
Take a look at the predicatebuilder.
EDIT
Of cause PredicateBuilder supports
AND
andOR
operators.When using
OR
you have to start with the initial value ofFalse
:我不确定您是否需要动态 LINQ。您应该能够检查销售的
Where
与所选日期的Any
相匹配,如下所示:或检查
Date
属性:I'm not sure you need dynamic LINQ here. You should be able to check
Where
the sale matchesAny
of the selected dates, like so:or checking on the
Date
property: