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
Integrare modelli AI in un workflow di GitHub
Gestire codice JavaScript con code splitting e lazy loading
Utilizzare il metodo IntersectBy per eseguire l'intersection di due liste
Configurare OpenAI in .NET Aspire
Gestire pubblicazione Kubernetes tramite .NET Aspire
Ricevere notifiche sui test con Azure Load Testing
Introduzione ai web component HTML
Migliorare l'organizzazione delle risorse con Azure Policy
Gestione ciclo di vita in .NET Aspire
Creare espressioni riutilizzabili nelle query LINQ per Entity Framework
Utilizzare il metodo ExceptBy per eseguire operazione di sottrazione tra liste
I più letti di oggi
- Effettuare il multi-checkout in linea nelle pipeline di Azure DevOps
- Gli oggetti CallOut di Expression Blend 4.0
- Alleggerire le applicazioni WPF sfruttando gli oggetti Freezable
- Le DirectInk API nella Universal Windows Platform
- Sfruttare una CDN con i bundle di ASP.NET
- Utilizzare un DataContext specifico per la modalità design time di Blend e Visual Studio nei controlli Silverlight
- Utilizzare dati in formato XML in XAML


