使用 LINQ 从 VaR 中提取一列

本文关键字:一列 提取 LINQ VaR 使用 | 更新日期: 2023-09-27 18:34:08

我有这样的东西

var emp = db.Employees.toList();

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

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现在我想从 employeeLeave 获取 id 列并将其存储在另一个变量中

使用 LINQ 从 VaR 中提取一列

目前还不完全清楚你想做什么,这就是为什么你用不同的方法得到了这么多答案。如果您尝试将"员工集合"转换为"ID 集合",那么您需要这样的东西:

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

或者更直接:

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

(可以选择在每个选项的末尾加上ToList

我强烈建议您借助一本好书或教程,从头开始彻底学习 LINQ(以及一些相关的语言功能,例如 var)。IMO 通过查找有点像您想要的样本来零碎地学习一些东西不是一个好方法。

var empId = db.Employees.Single(x => x.id == 5).Id;
您可以使用

select .也许是这样的:

var result=db.Employees
              .Select(s=>s.emp_id);

试试这个语法:

var empIds = db.Employees.Select(e=>e.EmpID)
Database.Tablename.Single(x => x.id == anyId)

这应该选择单行