Linq最有效的方法
本文关键字:方法 有效 Linq | 更新日期: 2023-09-27 18:04:52
我需要使用Linq语句如下
var data = db.tbl1
.Where(w => clientIds == clientid && w.Source == source);
我有一个下拉菜单,我从哪里得到的来源。下拉值如下:
All
NewsPaper
Web
事情是NewsPaper和Web是Source的有效值。一切并非如此。所有这些都意味着记录可以是NewsPaper或Web。
如果他们选择All,我如何修改w.c source使All表示NewsPaper或Web。我可以做2个独立的查询,如下所示,而不是:
if(source == "All")
{
var data = db.tbl1
.Where(w => clientIds == clientid);
}
else
{
var data = db.tbl1
.Where(w => clientIds == clientid && w.Source == source);
}
我喜欢在一个查询中完成它,因为我的查询实际上比上面显示的更复杂。
提前感谢
试试这个:
var data = db.tbl1
.Where(w => clientIds == clientid && (source == "All" || w.Source == source));
@mattytommo答案是可以接受的,但我更喜欢把它们分开一点。
var data = db.tbl1.Where(w => clientIds == clientid);
if (source != "All")
data = data.Where(w => w.Source == source);