C# 使用lambda表达式的LINQ查询

C# 使用lambda表达式的LINQ查询,c#,asp.net,.net,linq,lambda,C#,Asp.net,.net,Linq,Lambda,我有一个linq查询,它工作得很好,但是我想通过使用lambda表达式使它更短。任何建议或例子都可能有所帮助 selectedPersons = (from d in entities.PERSONS_DATA where d.PERSON_ID == pid select d).First(); 如果您可以使用: electedPersons = entities.PERSONS_DATA.Find(pid); 如

我有一个linq查询,它工作得很好,但是我想通过使用lambda表达式使它更短。任何建议或例子都可能有所帮助

selectedPersons = (from d in entities.PERSONS_DATA
                   where d.PERSON_ID == pid
                   select d).First();
如果您可以使用:

electedPersons = entities.PERSONS_DATA.Find(pid);
如果pid可能与某一行不匹配,则第一行将抛出异常。因此,在这种情况下,请使用:

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

if(electedPersons != null)
   ....
如果您可以使用:

electedPersons = entities.PERSONS_DATA.Find(pid);
如果pid可能与某一行不匹配,则第一行将抛出异常。因此,在这种情况下,请使用:

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

if(electedPersons != null)
   ....

我不同意。我相信下面的内容更具可读性。这更多的是一个偏好而不是事实。该查询已经在使用lambda表达式。我不同意。我相信下面的内容更具可读性。这更像是一个首选项,而不是事实。该查询已经在使用lambda表达式。为什么是single?为什么不先呢?你是对的,它应该是第一个。更新答案。非常感谢……没想到会这么简单:)为什么单身?为什么不先呢?你是对的,它应该是第一个。更新答案。非常感谢……没想到会这么简单:)