#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
-
C# 4.0 Beta 1, quello che io ho visto
-
#162 - Caricare un file XML da remoto tramite XDocument e HttpWebRequest
-
#141 - Alleggerire le applicazioni WPF sfruttando gli oggetti Freezable
-
Usare LINQ to SQL oggi è semplicemente sbagliato
-
#127 - Ospitare i controlli Windows Forms in un'applicazione WPF
-
#146 - Simulare la clausola SQL Exists con il metodo Any in LINQ to Entities
-
#169 - Sfruttare msbuild per differenziare il config
-
Nuova versione per EF Mapping Verifier
-
Real Code Day 4.0: costruire applicazioni reali - Firenze
-
Utilizzare Entity SQL per eseguire query in Entity Framework
-
Rilasciato ASP.NET MVC 2 Beta
-
#155 - Gestire e ottimizzare messaggi di grandi dimensioni in WCF

















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