Я использую представление, возвращающее Домены в соответствии с идентификатором. Столбец Домены может быть «География» или может быть заполненными доменами «География, история». (В любом случае, данные, возвращаемые является VARCHAR)LINQ to SQL где строка проверки строки содержит элемент списка
В моей C# код, у меня есть список, содержащий основные домены:
private static List<string> _mainDomains = new List<string>()
{
"Geography",
"Mathematics",
"English"
};
Я хочу, чтобы фильтровать мой LINQ запрос, чтобы вернуть только данные, относящиеся к к одному или нескольким основным домен:
expression = i => _mainDomains.Any(s => i.Domains.Contains(s));
var results = (from v_lq in context.my_view
select v_lq).Where(expression)
проблема в том, что я не могу использовать Any
ключевое слово, ни Exists
ключевого слова, так как они не доступны в SQL. Я видел много решений, используя ключевое слово Contains
, но это не соответствует моей проблеме.
Что мне делать?
Выполнение запроса с использованием ключевого слова 'Any' генерирует эту ошибку: Локальная последовательность не может использоваться в реализациях LINQ to SQL операторов запросов кроме оператора Содержит. –