LINQ
There are 3 entries for the tag
LINQ
Se abbiamo la necessità di ordinare una query Linq per più campi possiamo utilizzare gli operatori ThenBy e ThenByDescending. Considerando le classi del post precedente, se volessimo ordinare la query: 1 var query1 = esamiSostenuti
2 .OrderBy(es => es.ID_Studente)
3 .Select(es => new { es.ID_Studente, es.Voto });
non solo per il campo ID_Studente, ma anche per il campo Voto, possiamo scrivere:
1 //Ordinamento Ascendente
2 var query2 = esamiSostenuti
3 .OrderBy(es => es.ID_Studente)
4 .ThenBy(es => es.Voto) ...
Supponiamo di avere tre classi rappresentanti una ipotetica basi di dati "Università" (molto semplice). Una classe rappresentante lo studente, un classe rappresentante un esame sostenuto dallo studente ed una classe rappresentante l'associazione tra studenti ed esami sostenuti. Utilizzando un ClassDiagram avremmo qualcosa di simile a: Supponiamo ora, di voler recuperare, una volta popolate le collezione di oggetti opportune, quali esami siano stati sostenuti dagli studenti e con quale votazione, utilizzando LINQ e l'operatore di Group By. Possiamo scrivere del codice del tipo: 1 var queryEsamiSostenutiDaStudenti =
2 ...
Se nella nostra applicazione abbiamo la necessità di leggere molte volte gli stessi dati, può essere conveniente (se questi non cambiano frequentemente nel tempo), l'utilizzo di ToList (o ToArray ) per convertire il risultato di una query linq in un oggetto List o Array da utilizzare come cache dei dati. Supponiamo di avere mappato una tabella Corsi con la seguente entità: 1 [Table(Name="Corso")]
2 public class Corso
3 {
4
5 [Column(IsPrimaryKey=true)]
6 ...