linq - 将此 Linq 查询从查询​​语法转换为 lambda 表达式

标签 linq lambda linq-query-syntax

我不确定我是否喜欢 linq 查询语法...这不是我的偏好。但我不知道使用 lambda 表达式这个查询会是什么样子,有人可以帮忙吗?

from securityRoles in user.SecurityRoles
from permissions in securityRoles.Permissions
where permissions.SecurableEntity.Name == "Unit" && permissions.PermissionType.Name == "Read"
orderby permissions.PermissionLevel.Value descending
select permissions

用户和安全角色之间存在多对多关系,这使得这更加令人困惑。

谢谢! 凯利

最佳答案

像这样:

user.SecurityRoles.SelectMany(securityRoles => securityRoles.Permissions)
                  .Where(permissions => permissions.SecurableEntity.Name == "Unit" && permissions.PermissionType.Name == "Read")
                  .OrderByDescending(permissions => permissions.PermissionLevel.Value)

关于linq - 将此 Linq 查询从查询​​语法转换为 lambda 表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2879210/

相关文章:

C# LINQ 构建具有匿名类型的表达式

c# - 二维字典或查找表?

linq - Linq 中的临时表——有人看到这个问题吗?

c# - System.Func 传递给 linq where 方法而不枚举

Java 8 lambda 表达式 : Group all items in sequence which satisfy the given predicate. 分组应将谓词作为键,将项作为值

c# - 哪个快 : Query Syntax vs. 循环

c# - 使用 Sqlite.NET 的 Entity Framework 提示不支持应用连接

c#-3.0 - C# lambda 表达式和惰性求值

c# - C# 规范 7.16.2.5 中的不一致

linq - Sitecore7 Linq to Sitecore 仅适用于 SearchResultItem 而不适用于自定义映射类