L'operatore LIKE è utilizzato all'interno di SQL nella clausola WHERE per ricercare elementi la cui colonna ha un valore corrispondente al pattern specificato.
Con Entity Framework Core, questa funzione era richiamabile solamente tramite l'utilizzo dell'extension method FromSql che non aveva il bisogno di tradurre la query e la eseguiva in modo diretto sul database. Altrimenti, qualora avessimo voluto mantenere la sintassi di Linq, saremmo stati costretti ad utilizzare il metodo string.Contains, che però non è così stringente e non applica gli stessi pattern.
Entity Framework Core 2 introduce la funzione specifica Like che sopperisce a tutti i problemi elencati nel paragrafo precedente e può essere utilizzata con semplicità:
var filtered = ctx.People.Where(p => EF.Functions.Like(p.FirstName, "Ma%"));
In questo caso specifico, all'interno della variabile filtered ci saranno tutte le persone il cui nome inizia con "Ma" ma non ha una lunghezza specifica. Questa query viene tradotta in SQL:
SELECT .[Id], .[FirstName] FROM [People] WHERE .[FirstName] LIKE N'Ma%';
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Verificare la provenienza di un commit tramite le GitHub Actions
Utilizzare HiLo per ottimizzare le insert in un database con Entity Framework
Utilizzare la session affinity con Azure Container Apps
Creare un'applicazione React e configurare Tailwind CSS
Utilizzare le collection expression in C#
Utilizzare la versione generica di EntityTypeConfiguration in Entity Framework Core
Autenticarsi in modo sicuro su Azure tramite GitHub Actions
Utilizzare l'operatore GroupBy come ultima istruzione di una query LINQ in Entity Framework
Limitare le richieste lato server con l'interactive routing di Blazor 8
Reactive form tipizzati con modellazione del FormBuilder in Angular
Creare alias per tipi generici e tuple in C#
Generare file PDF da Blazor WebAssembly con iText