C#.NET中包含搜索(IQueryable)

时间:2014-09-16 00:42:34

标签: c# asp.net .net linq webforms

我正在尝试根据正在检查的特定复选框填充转发器的结果。

表:

SearchTable    
----    
TableId - int(pk)
Name - varchar
Description - varchar
Active - bool
IsCheck1 - bool
IsCheck2 - bool

功能:

protected void btnCSumit_Click(object sender, EventArgs e)
{
    var query = _db.SearchTable.Where(x => x.Active);
    if(ckbOne.Checked)
        query = query.Where(x => x.isCheck1);
    if(ckbTwo.Checked)
        query = query.Where(x => x.isCheck2);

    query = query.OrderBy(c => c.Name);
    repResults.DataSource = query;
    repResults.DataBind();
}

当ckbOne或ckbTwo为true时代码有效, 但如果ckbOne和ckbTwo为真,我需要它做这样的事情

query = query.Where(x => x.isCheck1 || x.isCheck2);

编辑:希望这个问题能提供更多信息。

1 个答案:

答案 0 :(得分:0)

尝试使用以下内容。

_db.table.Where(x => x.Active && ((check1 && x.isCheck1) || (check2 && x.isCheck2)))