相关疑难解决方法(0)

LINQ To SQL异常:除Contains运算符外,本地序列不能用于查询运算符的LINQ to SQL实现

考虑这个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();
Run Code Online (Sandbox Code Playgroud)

提出了一个例外:

除Contains()运算符外,本地序列不能用于查询运算符的LINQ to SQL实现

问题: 为什么会引发此异常,以及如何重写查询以避免此异常?

linq linq-to-sql

23
推荐指数
2
解决办法
2万
查看次数

标签 统计

linq ×1

linq-to-sql ×1