5

我有这样的东西

var emp = db.Employees.toList();

在我的员工表中,我有 emp 名称、emp id 和薪水,使用带有 lambda 表达式的 linq,我如何在另一个变量中访问 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 列并将其存储在另一个变量中

4

5 回答 5

14

尚不完全清楚您要做什么,这就是为什么您有这么多不同方法的答案。如果您试图将“员工集合”转换为“ID 集合”,那么您需要这样的东西:

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

或者更直接:

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

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

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

于 2012-05-15T12:32:10.373 回答
2
var empId = db.Employees.Single(x => x.id == 5).Id;
于 2012-05-15T12:32:56.267 回答
0

试试这个语法:

var empIds = db.Employees.Select(e=>e.EmpID)
于 2012-05-15T12:32:20.000 回答
0

您可以使用select. 也许是这样的:

var result=db.Employees
              .Select(s=>s.emp_id);
于 2012-05-15T12:32:46.577 回答
0
Database.Tablename.Single(x => x.id == anyId)

这应该选择单行

于 2013-09-28T11:15:31.730 回答