json - 运算符 '.' 无法应用于 lambda 表达式

标签 json linq lambda

我正在尝试创建 linq lambda 表达式来返回名字以特定字母开头的客户。但是我在 .select 上收到错误消息:

运算符“.”不能应用于 lambda 表达式。

public JsonResult GetCust(string term) 
{ 
    var data = context.Customers
          .Where((dr => dr.First.StartsWith(term) == true) || (dr => dr.Last.StartsWith(term) == true))
          .Select(dr => new { Name=String.Concat(dr.First, dr.Last), Adrs = dr.Street, value = dr.CustID }) 
          .Take(10); 
    return Json(data, JsonRequestBehavior.AllowGet); 
} 

知道如何返回所需的数据吗?

最佳答案

在以下行中:

.Where((dr => dr.First.StartsWith(term) == true) || (dr => dr.Last.StartsWith(term) == true))

您正在两个 lambda 表达式上使用 || 运算符。

Where 子句应该更像这样:

.Where(dr => dr.First.StartsWith(term) || dr.Last.StartsWith(term))

关于json - 运算符 '.' 无法应用于 lambda 表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9908060/

相关文章:

javascript - 如何使用 ngModelChange 过滤 Angular 4 中的对象值?

java - 解码后将base64 token转换为jsonString

c# - 如何将多个 MIN 函数编码为一个 LINQ to DataSet 查询

c++ - 在 lambda 中捕获命名空间变量

java - 如何安全地序列化 lambda?

json - Logstash 删除类型并保留 _type

java - 使用 Retrofit 获取嵌入另一个对象的 JSON 列表

c# - 包含空值的 Linq 查询

c# - 使用 2 个 from 子句重写 linq-to-sql 查询以连接

c++ - 创建类的可变包装器