1

これで検索機能を使用しています。3 つのフィールドがあります。

例:- 名前、都道府県、年齢

名前を選択して検索すると、関連するレコードが表示されます。

そして、名前、州、検索を選択すると、選択した両方のオプションがレコードに含まれているレコードを表示する必要があります。

レコードに選択したオプションがない場合、レコードは表示されません。

そのため、ラムダ式を使用した動的クエリを使用する必要があります

だから私にこれに例を送ってください。

4

1 に答える 1

1

あなたはこのように使うことができます、Predicate Builderを利用してください

ここで確認できる同じアプリケーションがあります: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();

式の述語を動的に構成する

于 2013-01-16T10:30:57.347 に答える