Molto spesso capita di avere una classe che ha una proprietà di tipo collection e che si debbano recuperare dei dati in base ad una condizione che si verifica in tale collection. Si supponga di avere l'ordine ed i suoi dettagli e di voler recuperare solo quegli ordini il cui totale sia superiore a 1000.
from order in ctx.Order where order.OrderDetail.Sum(d => (d.UnitPrice - d.Discount) * d.Quantity) > 1000 select order;
Entity Framework si preoccupa di trasformare questa query in SQL che restituisce solamente gli ordini corretti.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Utilizzare la funzione EF.Parameter per forzare la parametrizzazione di una costante con Entity Framework
Utilizzare il metodo Index di LINQ per scorrere una lista sapendo anche l'indice dell'elemento
Utilizzare EF.Constant per evitare la parametrizzazione di query SQL
Change tracking e composition in Entity Framework
Persistere la ChatHistory di Semantic Kernel in ASP.NET Core Web API per GPT
Utilizzare il metodo CountBy di LINQ per semplificare raggruppamenti e i conteggi
Utilizzare il metodo ExceptBy per eseguire operazione di sottrazione tra liste
Eseguire query in contemporanea con EF
Loggare le query più lente con Entity Framework