0

我有一个带有一些复选框和文本框的表单,我想做的是:
当用户选择一个复选框并编写一些文本时,linq 查询必须执行并仅搜索选定的复选框。

例如:

我的表格 http://upload7.ir/images/54647543164083765376.jpg

如果用户检查 lastname 并告诉并在文本框中输入数据,则查询仅检索选定的内容,如果用户也检查平均值,则查询也会执行该操作并返回 3 join 例如。

4

1 回答 1

2

LINQ 查询是惰性的,在询问结果之前不会执行,因此您可以执行以下操作:

var source = GetSourceCollection();
var query = source;

if(FirstNameCheckbox.Checked)
    query = query.Where(x => x.FirstName.Contains(FirstNameTextBox);

if(LirstNameCheckbox.Checked)
    query = query.Where(x => x.LirstName.Contains(LirstNameTextBox);

// (...)

// execution is right here, when ToList is called
var results = query.ToList();
于 2013-07-09T09:53:05.503 回答