单个linq查询中的两个where子句
本文关键字:两个 where 子句 linq 查询 单个 | 更新日期: 2023-09-27 18:07:20
我有一个表memberaccounts
member_id
member_name
membertransactionamount
memberaccount_id
和我的实体名称是databasecontextsearch
,我将这些细节绑定到数据网格视图使用以下方法
var memberdetails = from members in databasecontextsearch.memberacconuts
select new
{
memberid = members.member_id
name = members.member_name
amount = members.membertransactionamount
};
bindingsource1.datasource = memberdetails;
datagridview1.datasource = bindingsource1;
我有一个文本框(txtsrch)和一个按钮(搜索)
当用户在文本框中输入member_name (txtsrch)时,成员详细信息将根据该member_name填充数据网格视图..
当用户在文本框中输入membertransactionamount (txtsrch)时,数据网格视图将填充具有membertransactionamount的成员详细信息。
您可以将其"转换"为AND:
var memberdetails = from members in databasecontextsearch.memberacconuts
where
string.IsNullOrEmpty(name_param)?true:members.memebername==name_param
&&
((tran_param!=null?members.membertransactionamount==tran_param:true))
select new
{
memberid = members.member_id
name = members.member_name
amount = members.membertransactionamount
};
解释:
如果name_param为null或空,where条件的第一部分将求值为true;如果没有,将进行比较。
如果tran_param为null, where的第二部分将求值为true;如果没有,将与membertransactionmaount进行比较。