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
Potenziare Azure AI Search con la ricerca vettoriale
Installare le Web App site extension tramite una pipeline di Azure DevOps
Sostituire la GitHub Action di login su private registry
Usare le collection expression per inizializzare una lista di oggetti in C#
Utilizzare un service principal per accedere a Azure Container Registry
Utilizzare la versione generica di EntityTypeConfiguration in Entity Framework Core
Effettuare il deploy di immagini solo da container registry approvati in Kubernetes
Creazione di plugin per Tailwind CSS: espandere le funzionalità del framework dinamicamente
Gestire domini wildcard in Azure Container Apps
Eseguire una GroupBy per entity in Entity Framework
Disabilitare automaticamente un workflow di GitHub (parte 2)
C# 12: Cosa c'è di nuovo e interessante