6
Retroceder de SQL a LINQ2SQL a veces es bastante simple. La siguiente declaración¿Cómo se genera una cláusula WHERE ... IN utilizando LINQ2SQL?
SELECT user FROM users WHERE lastname='jones'
traduce con bastante facilidad en
from u in users where u.lastname='jones' select u
Pero, ¿cómo conseguir genera el siguiente código SQL?
SELECT user FROM users WHERE lastname IN ('jones', 'anderson')
usted va a ejecutar en un problema con la expresión 'Contains' no ser traducible a SQL, por lo que no funciona si los usuarios es un' System.Data.Linq.Table' en un LinqToSql DataContext. –
@klausbyskov: Esto no es verdad. Entity Framework/LINQ to Entities no puede hacer esto en .NET 3.5, pero LINQ to SQL estará feliz de convertir esto en SQL. El único problema es que la cantidad de elementos en la cláusula IN() (la cantidad de elementos en la lista 'nombre') es limitada, debido a las limitaciones de ADO.NET. – Steven
@klausbyskov: Realmente funciona bien, he ejecutado el código y he mirado el resultado en SQL Profiler. ¿Me diste los votos negativos? – Jedidja