"Método 'Boolean Contains (System.String)' no tiene traducción soportada a SQL."Método 'Boolean Contains (System.String)' no tiene traducción soportada a SQL
consulta es IsQueryable pero esto dejó de funcionar:
foreach (string s in collection1)
{
if (s.Length > 0)
{
query = query.Where(m => m.collection2.Contains(s));
}
}
ACTUALIZACIÓN: funciona cuando hago consulta "IEnumerable" en lugar de IQueryable. ¿Cuál sería la forma de obtener el mismo resultado utilizando linq en lugar de iterar a través del ciclo?
Se puede publicar lo que su consulta es antes de entrar en este bucle? –
El uso de LINQ puro no cambia nada, también tiene el mismo problema. Por razones desconocidas, si LINQ detecta una colección "extraña" como HashSet, no la usa como IEnumerable, el usuario tiene que convertir su colección directamente a IEnumerable, entonces Containts se traduce correctamente a SQL (IN supongo). – greenoldman