Nella service release 8.0.2, EF introduce un nuovo metodo: EF.Constant. Questo metodo scrive il valore di un parametro direttamente nel codice SQL generato da Entity Framework invece che usare la parametrizzazione nativa SQL.
Prendiamo come esempio le seguenti query.
public async Task Method(int age) { var people1 = await ctx.People .Where(p => p.Age > age) .ToListAsync(); var people2 = await ctx.People .Where(p => p.Age > EF.Constant(age)) .ToListAsync(); }
Nel primo caso, il valore della variabile age viene passato come parametro SQL, mentre nel secondo caso il valore di age viene direttamente scritto nel codice.
//query 1 select * from people where age = @age //query 2 select * from people where age = 20
In linea generale, mettere nella stringa SQL un parametro non è il massimo in quanto si genera un query plan per ogni valore di age con conseguenti effetti sulle perforance del database. Tuttavia, possono esistere casi in cui mettere inline il valore può tornare utile e quindi avere EF.Constant è un'arma in più.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Evitare il flickering dei componenti nel prerender di Blazor 8
Utilizzare i primary constructor in C#
Miglioramenti agli screen reader e al contrasto in Angular
Utilizzare il nuovo modello GPT-4o con Azure OpenAI
Configurare il nome della run di un workflow di GitHub in base al contesto di esecuzione
Gestione dei nomi con le regole @layer in CSS
Code scanning e advanced security con Azure DevOps
Miglioramenti nell'accessibilità con Angular CDK
Testare l'invio dei messaggi con Event Hubs Data Explorer
Reactive form tipizzati con FormBuilder in Angular
Supporto ai tipi DateOnly e TimeOnly in Entity Framework Core
Disabilitare automaticamente un workflow di GitHub (parte 2)
I più letti di oggi
- Utilizzare EF.Constant per evitare la parametrizzazione di query SQL
- Migliorare la scalabilità delle Azure Function con il Flex Consumption
- Persistere la ChatHistory di Semantic Kernel in ASP.NET Core Web API per GPT
- Mostrare liste raggruppate con ItemsControl nelle Windows Store app
- Ottenere un token di accesso per una GitHub App
- Accesso ai dati asincrono in un controller ASP.NET MVC