2011-09-03 38 views
-2

我有一个表memberaccounts2,其中单LINQ查询子句

   member_id 
       member_name 
       membertransactionamount 
       memberaccount_id 

和我的实体名称为databasecontextsearch

,我使用foolwing方式

 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,会根据该成员名称使用datagrid视图填充成员详细信息。

当用户在文本框(txtsrch)中输入membertransactionamount时,将填充datagrid视图成员详细那些谁有membertransactionamount ..

是否有可能在这些条件中,如果单一使用LINQ to实体条件......

+0

答案是肯定的。你有什么尝试,没有奏效? – svick

+0

我havenot尝试过任何我正在寻找任何想法... –

+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为空,那么where的第二部分将评估为true;如果没有,将与membertransactionmaount进行比较。

+0

非常感谢lcarus –

+0

@lcarus我有一个小小的怀疑我在哪里输入txtsrch.text值在这个查询.... –

+0

我可以用txtsrch.text值替换nam_param –