#120 - Filtrare i risultati di una query in base ad una lista di dati predefiniti con Entity Framework
di Stefano Mostarda, in LINQ, Entity Framework, 13 maggio 2009
In SQL la clausola IN può essere utilizzata in due modalità. La prima prevede che i dati della query padre siano filtrati in base ai risultati di una sub query.
select * from table where id in (select id from table2)
La seconda modalità prevede che la query sia filtrata in base ad una lista di valori predefinita.
select * from table where id in (1,2,3,4)
Scrivere la prima tipologia di query in Entity Framework è molto semplice in quanto basta innestare le query, mentre la seconda presenta qualche problema in più. Simulare la clausola IN di SQL con LINQ to Entities non è possibile se non scrivendo un operatore custom. La via più semplice quindi è ricorrere ad Entity SQL.
SELECT VALUE c FROM NWEntities.Customers AS c
WHERE c.CustomerID IN { 'ALFKI', 'ALLGT', 'FRETD' }Costruendo a mano lo statement, risulta molto semplice creare la stringa da una lista di id dati in input al metodo.
Approfondimenti
-
Real Code Day 4.0: costruire applicazioni reali - Firenze
-
#158 - Caricare un file XML remoto tramite la classe XDocument
-
#127 - Ospitare i controlli Windows Forms in un'applicazione WPF
-
#101 - Gestire le connessioni TCP del .NET Framework
-
#112 - Raggruppare i siti in IIS 7.0 in base all'ApplicationPool con LINQ to Objects
-
#116 - Visualizzare gli handler abilitati in un'applicazione web con LINQ e Microsoft.Web.Administration
-
Template per generare classi POCO con Entity Framework 4.0
-
#155 - Gestire e ottimizzare messaggi di grandi dimensioni in WCF
-
.NET Framework 4.0 beta 1: Visual Studio 2010
-
Entity Framework in action è in disponibile in MEAP
-
#128 - Caricare parzialmente un oggetto di dominio con Entity Framework
-
#153 - Invocare servizi WCF da Javascript

















Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.