LINQ To SQL exception: Local sequence cannot be used in LINQ to SQL implementation of query operator
Posted
by pcampbell
on Stack Overflow
See other posts from Stack Overflow
or by pcampbell
Published on 2009-11-10T23:58:33Z
Indexed on
2010/03/25
18:33 UTC
Read the original article
Hit count: 1023
linq-to-sql
|LINQ
Consider this LINQ To SQL query. It's intention is to take a string[] of search terms and apply the terms to a bunch of different fields on the SQL table:
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();
An exception is raised:
Local sequence cannot be used in LINQ to SQL implementation of query operators except the Contains() operator
Question: Why is this exception raised, and how can the query be rewritten to avoid this exception?
© Stack Overflow or respective owner