我有一个LINQ查询,它从一个名为Permissions的表中返回所有记录,其中userId是当前用户.
我想要做的是对此结果集进行检查,看看是否存在值为5的PermissionId.
这是最简单的方法吗?
Ran*_*832 15
bool contains_id_5;
contains_id_5 = Permissions.Where(p=>p.PermissionID==5).Count() > 0;
contains_id_5 = Permissions.Where(p=>p.PermissionID==5).Any();
contains_id_5 = Permissions.Where(p=>p.PermissionID==5).FirstOrDefault() != null;
contains_id_5 = Permissions.Any(p=>p.PermissionID==5);
Run Code Online (Sandbox Code Playgroud)
您使用哪一个取决于您是否对中间位(计数,记录)有任何用处.Permissions.Any(p=>p.PermissionID==5)使用可查询类型的LINQ集合可以是最有效的,特别是作为更大查询的一部分,因为EXISTS如果你不使用任何其他位,它可以变成SQL 调用.
Dim*_*tri 11
var PermissionIDFiveCount=YourInitialDataset.Where(p=>p.PermissionID==5).Count()
Run Code Online (Sandbox Code Playgroud)
或更短的方式:
var PermissionIDFiveCount=YourInitialDataset.Count(p=>p.PermissionID==5)
Run Code Online (Sandbox Code Playgroud)
更短:
var ContainsPermissionIDFive=YourInitialDataset.Any(p=>p.PermissionID==5)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
19431 次 |
| 最近记录: |