2011-09-03 5 views
-2

J'ai une table memberaccountsdeux clause where dans la requête LINQ simple

   member_id 
       member_name 
       membertransactionamount 
       memberaccount_id 

et mon nom d'entité est databasecontextsearch

et je lie ces détails à vue DataGrid en utilisant façon 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; 

et j'ai une zone de texte (txtsrch) et un bouton (recherche)

quand jamais l'utilisateur saisit le nom de membre dans la zone de texte (txtsrch) les détails du membre seront renseignés avec la vue de grille de données en fonction de ce nom de membre.

chaque fois que l'utilisateur saisira membertransactionamount dans la vue de la grille de la zone de texte (txtsrch) sera rempli avec membre détails ceux qui ont cette membertransactionamount ..

est-il possible ces situations en une seule si la condition LINQ aux entités ...

+0

La réponse est oui. Qu'avez-vous essayé qui n'a pas fonctionné? – svick

+0

je n'ai rien essayé je cherche des idées ... –

+0

il n'y a rien de spécial ici simplement ajouter un et mettre '&&' entre les deux déclarations booléennes –

Répondre

2

Vous pouvez le « transformer » en un ET:

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 
        }; 

Explication:

Si name_param est null ou vide, la première partie de la condition where sera évaluée à true; sinon, fera la comparaison.

Si le tran_param est nul, la seconde partie de l'où sera évaluée à vrai; sinon, fera la comparaison avec membertransactionmaount.

+0

Merci beaucoup lcarus –

+0

@lcarus J'ai un petit doute où dois-je entrer les valeurs txtsrch.text dans cette requête .... –

+0

puis-je remplacer nam_param avec les valeurs txtsrch.text –