c# - 使用 linq 从 var 中提取一列

标签 c# linq-to-entities

我有这样的东西

var emp = db.Employees.toList();

在我的员工表中,我有 emp 名称、emp id 和薪水,使用 linq 和 lambda 表达式,我如何在另一个变量中访问 emp id。 我试过查找它,但找不到使用带有 lambda 表达式的 linq 的解决方案

var employeeLeaves = db.Leaves
     .Include("Employee")
     .Include("Employee.Manager")
     .Where(l => l.Status.Id == 1)
     .GroupBy(l => l.Employee.Manager.Id)
     .Select(l => l.GroupBy(k=>k.Employee.Id).Select(j=>j.GroupBy(‌​p=>p.GroupId)))
     .ToList(); 

这是我的实际查询,不要问我是怎么写的..:P 现在我想从 employeeLeaves 获取 id 列并将其存储在另一个变量中

最佳答案

您并不完全清楚您要尝试做什么,这就是为什么您会通过不同的方法获得如此多的答案。如果你想把“员工集合”变成“ID 集合”,那么你需要这样的东西:

var ids = emp.Select(x => x.Id);

或者更直接:

var ids = db.Employees.Select(x => x.Id);

(可选地在每个末尾加上 ToList。)

我强烈建议您在一本好书或教程的帮助下,从头开始彻底学习 LINQ(以及一些相关的语言功能,例如 var)。在我看来,仅通过查找与您想要做的事情有点像的样本来零碎地学习位并不是一个好方法。

关于c# - 使用 linq 从 var 中提取一列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10600690/

相关文章:

c# - String.Format DateTime 值以递减数字格式 c#?

c# - 嵌套列表的 LINQ to Entities 投影

c# - 根据子集合总结一个属性

c# - 应该选择 C# 还是 C++ 来学习游戏编程(控制台)?

c# - 字符串清理和格式化

c# - 如何在 Dataset DataTable 中显示 DataColumns

c# - 延迟执行 - 字典输出

c# - LINQ to 实体查询,在使用导航属性之前检查 null

c# - 错误 "The LINQ expression node type ' Invoke' is not supported in LINQ to Entities"in where clause in the method

c# - 将 MS Access 数据库转换为 Web 应用程序的简便方法