mercredi 6 mai 2015

linq query conditions by database and a list contents

I want to retrieve all tickets whose badge number is present in the list

i have a listA

public class LigneXls

     {
         public string sup { get; set; }
         public string tiers { get; set; }
        p ublic string badge { get; set; }
   }

i have a method :

            try
            {
                   List<DataObjects.LigneXls> listeLigneXls)
                   var listeTickets = from ti in _AGAPEntitie5.TICKETS
                             join ch in _AGAPEntitie5.CHAUFFEURS on ti.ID_CHAUFFEUR equals ch.ID_CHAUFFEUR
                             join tour in _AGAPEntitie5.TOURNEES on ch.ID_CHAUFFEUR equals tour.ID_CHAUFFEUR
                             join tour2 in _AGAPEntitie5.TOURNEES on ti.ID_TOURNEE equals tour2.ID_TOURNEE
                             join chb in _AGAPEntitie5.CHAUFFEUR_BADGE on ch.ID_CHAUFFEUR equals chb.ID_CHAUFFEUR
                             where chb.NUM_BADGE.Contains(listeLigneXls.Select(lgn => lgn.badge).ToString())
                             _AGAPEntitie5.CHAUFFEUR_BADGE.Where(p=>p..Any(x=>))
                             //where listeLigneXls.Any(s=>chb.NUM_BADGE.Contains(s.badge))
                             select new AGAP4.DataObjects.Ticket
                              {
                                  id = ti.ID_TICKET,
                                  poids_entrant = ti.POIDS_ENTRANT,
                                  poids_sortant = ti.POIDS_SORTANT,
                                  poids_net = ti.POIDS_Net,
                                  id_tournee = ti.ID_TOURNEE,
                                  id_chauffeur = ti.ID_CHAUFFEUR
                              };
                   lines_tickets = listeTickets.ToList();
                   return lines_tickets;
            }

i try this condition but it doesn't work,

try {

                    where chb.NUM_BADGE.Contains(listeLigneXls.Select(lgn =>lgn.badge).ToString())
                    //where listeLigneXls.Any(s=>chb.NUM_BADGE.Contains(s.badge))
                }

doesn't recognize tostring for the first and doesn't recognize the list

Any idea how solve my problem?

Aucun commentaire:

Enregistrer un commentaire