Ricerca per data: dal 01/06/1998
Nello script 683 abbiamo visto che Entity Framework 10 introduce un ulteriore modo di tradurre il metodo Contains in una IN SQL. La strategia di default è quella di usare i singoli parametri nella IN, ma questa strategia può non andare bene per i nostri scopi e magari vogliamo ...
Una delle funzionalità più controverse di Entity Framework è la modalità con cui viene parsata la Contains per trasformarla in una IN sql. Fino alla versione 8, Entity Framework ha tradotto in SQL inserendo nella stringa direttamente i valori passati in input. int[] ids = [1, 2, ...
Una delle caratteristiche delle prime versioni di Entity Framework Core era la capacità di capire che una query non poteva essere tradotta in sql e quindi scaricare i dati in locale per poi processarli in locale. Sebbene elegante, questa caratteristica presentava un possibile ...
Quando lavoriamo con una tabella di un database, molto spesso ci ritroviamo a recuperare dati usando gli stessi filtri. Ad esempio, per una tabella con dati temporali ricorriamo spesso ad una ricerca per range di date. Scrivere questo filtro in molte query può portare facilmente ...
Molto spesso capita di avere una lista di id e di dover recuperare dal database i record che corrispondono a quegli id. Questa query in LINQ è estremamente semplice come si vede dal codice.//c#var items = new[] { 1,2,3 }; var rec = await ctx.People.Where(c => items.Contains(c.Id...
Quando in SQL vogliamo filtrare un set di dati intersecandolo con i dati provenienti da una subquery possiamo usare la clausola IN oppure una JOIN. Un'altra possibilità è quella di usare le clausole Intersect ed Except. Con queste clausole possiamo prendere due query e filtrare i...
Una delle situazioni più comuni quando si lavora con i database è quella dove si utilizza una chiave surrogata (un identity o un guid) come chiave primaria di una tabella e non si inserisce un indice univoco per la chiave naturale. Per fare un esempio, capita spesso che in una ...
Uno dei limiti principali di EF (e di altri O/RM) è quello di non permettere l'esecuzione di più comandi in contemporanea pena il sollevamento di un'eccezione. Esistono tuttavia molti casi in cui eseguire query in simultanea è necessario per ottimizzare le prestazioni. Pensiamo ...
La stragrande maggioranza dei sistemi lavora con dati e quindi è normale che l'accesso al database rivesta un ruolo fondamentale nelle performance. Quando vogliamo ottimizzare le performance, dobbiamo sapere prima di tutto quali sono le query più lente così che possiamo ...
Nello script #664 abbiamo introdotto il metodo IntersectBy che permette di trovare gli oggetti appartenenti a due liste specificando una lambda che effettua la comparazione tra oggetti. In questo script introduciamo il metodo ExceptBy che fa l'esatto opposto: cerca gli oggetti ...


