我正在尝试提出一个动态 LINQ 查询,它可以让我从嵌套实体集合中选择属性。我想获取一个角色列表,其中包含每个角色的一些相关用户信息。当然,我实际上会返回角色信息,但我没有在这个示例中使用它,因为它是微不足道的。
此 LINQ 查询为我提供了所需的信息:
ROLES.Select(r => new { ID = r.ID, USER_ROLES = r.USER_ROLES.Select(ur => new { ID = ur.ID, USER = new { ID = ur.USER.ID, USERNAME = ur.USER.USERNAME } } ) })
结果将被序列化为 JSON 并应包含:
[
{ID: 1, USER_ROLES: [
{ID: 100, USER: {ID: 3, USERNAME: 'code0100fun'} }
] },
{ID: 2, USER_ROLES: [
{ID: 100, USER: {ID: 3, USERNAME: 'code0100fun'} },
{ID: 101, USER: {ID: 4, USERNAME: 'somedude' } }
] }
]
对此的动态 LINQ (System.Linq.Dynamic) 查询是什么样的?