Итак, я несколько часов бился головой о стену пословицы, и я подумал, что увижу, решит ли кто-нибудь эту проблему раньше ...
У меня есть List<string>
значений, которые я хочу использовать в качестве фильтров при поиске. В старые времена я встраивал в запрос строку WHERE field = 'a' OR field = 'b' OR field = 'C'
. Но со сборкой Linq это длинное предложение WHERE
довольно сложно. Я надеялся, что это сработает:
var results = from x in x.table
where x.Equals(List<string>)
select x;
Увы, компилятор не настолько умен, чтобы разбить List <> на запрос WHERE field = 'a' OR field ='b'
. Я продвинул этот процесс в качестве цикла foreach на List<string>
, но он передает обработку клиенту, когда я хочу, чтобы эта часть выполнения выполнялась на SQL Server. Живу ли я здесь в мире фантазий или есть ли способ сделать это?