如何使用Lambda表达式创建动态查询



我在这里使用搜索功能,我有三个字段

示例:—姓名、状态、年龄

当我选择名称并搜索时,它应该显示相关记录,

,当我选择名称,状态和搜索时,我应该显示这两个选项都包含在记录中的记录,

如果记录没有任何选择的选项,那么它不应该显示记录,

所以我应该使用动态查询使用lambda表达式

请给我发一些例子

您可以这样使用,使用谓词生成器

我有一个相同的应用程序,你可以在这里检查:动态查询与Linq

   var predicate = PredicateBuilder.True<employee>();
    if(!string.IsNullOrEmpty(txtAddress.Text))
        predicate = predicate.And(e1 => e1.Address.Contains(txtAddress.Text));
    if (!string.IsNullOrEmpty(txtEmpId.Text))
        predicate = predicate.And(e1 => e1.Id == Convert.ToInt32(txtEmpId.Text));
    if (!string.IsNullOrEmpty(txtDesc.Text))
        predicate = predicate.And(e1 => e1.Desc.Contains(txtDesc.Text));
    if (!string.IsNullOrEmpty(txtName.Text))
        predicate = predicate.And(e1 => e1.Name.Contains(txtName.Text));
    EmployeeDataContext edb= new EmployeeDataContext();
    var emp = edb.Employees.Where(predicate);
    grdEmployee.DataSource = emp.ToList();
    grdEmployee.DataBind();

动态组合表达式谓词

相关内容

  • 没有找到相关文章

最新更新