#120 - Filtrare i risultati di una query in base ad una lista di dati predefiniti con Entity Framework

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.

IL CONTENUTO
SCRIPT VIA E-MAIL

Iscriviti alle nostre newsletter unoscript@lgiorno e Xcript per ricevere gli script via e-mail.

MEDIA
IN EVIDENZA
MISC