Ricerca per argomento: LINQ
Fino alla versione 2.2, Entity Framework risolve le query con Include verso una collection navigation property utilizzando un query per ogni proprietà e non creando un unico comando SQL. Questo comportamento ha il vantaggio di diminuire sensibilmente la quantità di viaggi che ...
Nello script #519 abbiamo visto come creare un interceptor e come utilizzarlo per loggare le chiamate fatte al database. Questo è un possibile uso degli interceptor ma ce ne sono molti altri. Un esempio è dato dalla possibilità di dare degli hint a SqlServer su come eseguire una ...
Nello script #542 abbiamo introdotto la libreria Entity Framework Plus e abbiamo visto come sfruttarla per eseguire più query in un solo comando SQL. La tecnica illustrata nello script funziona quando si eseguono query che restituiscono più record, ma non è applicabile a query ...
Molto spesso nelle nostre applicazioni abbiamo la necessità di eseguire più query in un unico comando (un comando può essere una richiesta web o il click di un pulsante in un'applicazione desktop). Se le query sono dipendenti tra loro (ad esempio, la prima query tira fuori alcuni...
Nello script #535 abbiamo introdotto EF Core Power Tools, un'estensione per Visual studio che permette, oltre ad altre funzionalità, di effettuare il reverse engineering di un database e di ottenere le classi e il relativo mapping. Tra le varie opzioni di generazione del codice, ...
Quando dobbiamo sviluppare applicazioni multitenant, una delle cose fondamentali è assicurarci che un dato inserito da un utente di quel tenant, sia effettivamente inserito per il tenant e successivamente visibile solo agli utenti di quel tenant. Questo requisito è talmente ...
Una delle richieste più comuni dei progetti è quella di avere a disposizione un log dei cambiamenti dei dati, di chi li ha fatti e quando. A seconda delle esigenze, questa operaione può essere estremamente semplice o complicata. In questo script prendiamo in esame un caso ...
La classe DbContext di Entity Framework Core espone la proprietà ChangeTracker di tipo ChangeTracker. Questa classe mette a disposizione il metodo TrackGraph che permette di attaccare un oggetto al contesto e di avere un callback per ogni oggetto complesso che questo referenzia ...
Molto spesso, nel nostro modello ci capita di avere una classe con una proprietà che rappresenta una lista di oggetti collegati. Per fare un esempio concreto, capita spesso di avere una classe Person con una lista di numeri di telefono collegati. Tipicamente, in casi come questi ...
Quando inseriamo un record nel database, abbiamo spesso l'esigenza di dover calcolare e salvare dei dati che poi non devono più essere modificabili dall'applicazione. Un tipico esempio di questo tipo di dati sono la data di creazione, il codice matricola assegnato a un dipendente...