Рассмотрим этот запрос LINQ To SQL. Цель состоит в том, чтобы взять строку [] условий поиска и применить термины к множеству разных полей в таблице SQL:
string[] searchTerms = new string[] {"hello","world","foo"};
List<Cust> = db.Custs.Where(c =>
searchTerms.Any(st => st.Equals(c.Email))
|| searchTerms.Any(st => st.Equals(c.FirstName))
|| searchTerms.Any(st => st.Equals(c.LastName))
|| searchTerms.Any(st => st.Equals(c.City))
|| searchTerms.Any(st => st.Equals(c.Postal))
|| searchTerms.Any(st => st.Equals(c.Phone))
|| searchTerms.Any(st => c.AddressLine1.Contains(st))
)
.ToList();
Исправлено исключение:
Локальная последовательность не может использоваться в реализации операторов запросов LINQ to SQL, за исключением оператора Contains()
Вопрос: Почему возникает это исключение и как можно переписать запрос, чтобы избежать этого исключения?