我有一个表memberaccounts
member_id
member_name
membertransactionamount
memberaccount_id
我的实体名称是databasecontextsearch
我正在使用foolwing方式将这些细节绑定到datagrid视图
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)和一个按钮(搜索)
当用户在文本框(txtsrch)中输入member_name时,将根据该member_name使用datagrid视图填充成员详细信息。
当用户在文本框中输入membertransactionamount(txtsrch)时,datagrid视图将使用成员详细信息填充那些具有该membertransactionamount的人。
是否可能在单个if条件下使用linq到实体......
答案 0 :(得分:2)
您可以将其“转换”为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进行比较。