gpt4 book ai didi

c# - Linq 嵌套或内部查询

转载 作者:行者123 更新时间:2023-11-30 16:39:16 25 4
gpt4 key购买 nike

假设我有一个员工列表,每个员工都有几个项目。我可以让给定的员工使用:

var employee = employees.SingleOrDefault(x => x.Id == "id");

但是我怎样才能过滤员工的项目呢?

例如:

var employee = list
.SingleOrDefault(x => x.Key == employeeKey &&
x.Projects.SingleOrDefault(p => p.Key == projectKey));

最佳答案

如果您想在获得员工后过滤掉 Projects,您可以使用 .Select()

var result = employees.Where(e => e.Id == id).Select(e => new Employee
{
Id = e.Id,
Projects = e.Projects.SingleOrDefault(p => p.Key == projectKey)
}).SingleOrDefault();

所以你可以一步得到你需要的数据,但是你必须自己分配属性。

另一种方法是先获取您的Employee,然后筛选项目,如 BoredomOverload 建议的那样:

var employee = employees.SingleOrDefault(x => x.Id== "id");
employee.Projects = employee.Projects.SingleOrDefault(p => p.Key == projectKey);

无论哪种方式,您都可以过滤员工和该员工的项目。

关于c# - Linq 嵌套或内部查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53389768/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com