domenica 5 febbraio 2017

C# linq contains anonymous type

Nel caso che dobbiamo utilizzare il metodo contains per verificare su un risultato di query con due colonne il valore presente nei vari record, verrà visualizzato in fase di scrittura del codice, l'errore contains anonymous type o simile.
Dovremmo utilizzare in questo caso il metodo Any. Ma vediamo nel dettaglio come utilizzarlo, qui di seguito l'esempio di codice nel linguaggio C#.

//Query estrapolazione dati
 var RisultatoQuery  = (from Dati in ListOggetto
                                           let range = (
                                          Dati.Campo == "A" ? "Testo A" :
                                          Dati.Campo == "B" ? "Testo B" :
                                          Dati.Campo == "C" ? "Testo C" :
                                            "Nessun Testo")
                                           group Dati by range into g
                                           orderby g.Key
                                           select new { Descrizione = g.Key, Totali = g.Count()
 });

Qui di seguito, un esempio di utilizzo del metodo "Any" che permette di verificare se all'interno è presente il dato
   string Testo = "";
 if (RisultatoQuery  .Any(p => p.Descrizione == "Testo A"))
                    {
                       Testo = RisultatoQuery  .Where(p => p.Descrizione ==  "Testo A").FirstOrDefault().Totali;
                    }

Nessun commento: