有没有一种很好的方法来检测Linq-To-Entities查询中的空结果?

Jef*_*eff 3 .net linq vb.net linq-to-entities

我所知道的唯一方法就是尴尬:

'check for empty return
Dim count As Integer = (From s In myEntity.employee Where employeeID = myEmployeeIDVariable).Count

'If there is a record, then process
If count > 0 Then
     Dim r = (From s In myEntity.employee Where employeeID = myEmployeeIDVariable).First()

     . . . do stuff . . .
End If
Run Code Online (Sandbox Code Playgroud)

Jon*_*upp 5

使用.FirstOrDefault().如果有第一条记录,您将获得第一条记录;如果没有返回记录,则返回null.


Adr*_*ong 5

您可以将LINQ结果分配给变量并检查.Count()是否> 0.这样您就不需要两次执行相同的查询.

码:

'check for empty return
Dim r = (From s In myEntity.employee Where employeeID = myEmployeeIDVariable)

'If there is a record, then process
If r.Count() > 0 Then
  . . . do stuff . . .
End If
Run Code Online (Sandbox Code Playgroud)