首页 > 解决方案 > 使用 linq 表达式构建动态选择

问题描述

我正在尝试使用表达式构建动态 linq 选择。

换句话说,我想构建一个 lambda 查询,例如:

class User {
 public string UserName {get; set;}
 public List<Group> Groups {get; set;}
}

class Group {
 public string GroupName {get; set;}
 .....
 ..... lots of other members
}

var = context.Set<User>().Select(u=>new {UN = u.UserName, Groups = u.Groups.Select(g => g.GroupName)});

我尝试使用 linq.expressions 并能够构建一个 lambda,例如:

u => 新类型名 { UN = u.UserName }

但是找不到使用匿名类型创建相同查询的方法,该匿名类型不处理 Groups List 属性的子查询。

标签: c#linqexpression

解决方案


推荐阅读