【问题标题】:LINQ query using lambda expression使用 lambda 表达式的 LINQ 查询
【发布时间】:2016-02-04 03:29:12
【问题描述】:

我有这个 linq 查询,它工作正常,但我想通过使用 lambda 表达式来缩短它。任何建议或示例都可能会有所帮助。

selectedPersons = (from d in entities.PERSONS_DATA
                   where d.PERSON_ID == pid
                   select d).First();

【问题讨论】:

  • 我不同意。我相信下面的内容更具可读性。这更像是一种偏好而不是事实。
  • 该查询已经在使用 lambda 表达式。

标签: c# asp.net .net linq lambda


【解决方案1】:
selectedPersons = entities.PERSONS_DATA.First (d => d.PERSON_ID == pid);

【讨论】:

  • 为什么要单身?为什么不先呢?
  • 你说得对,应该是第一。更新了答案。
  • 非常感谢...没想到会这么简单:)
【解决方案2】:

如果可以的话:

electedPersons = entities.PERSONS_DATA.Find(pid);

如果 pid 有可能与行不匹配,First 将抛出异常。所以在这种情况下使用:

electedPersons = entities.PERSONS_DATA.FirstOrDefault(d => d.PERSON_ID == pid);

if(electedPersons != null)
   ....

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多