2012-05-15 31 views
3

一个变种专栏中,我有这样的事情提取一个使用LINQ

var emp = db.Employees.toList(); 
在我的员工表

我有EMP名,EMP ID和薪水,使用具有lambda表达式LINQ,如何访问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现在我想从employeeLeaves获得id列并将其存储在另一个变量中

回答

9

这并不完全清楚你想要做什么,这就是为什么你有不同的方法有这么多的答案。如果你试图把“员工集合”变成了“ID的集合”,那么你想是这样的:

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

或者更直接:

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

(可选带ToList在)

我强烈建议您在一本好书或教程的帮助下,从头开始学习LINQ(以及与之相关的语言特性,如var)。通过找到一些有点像你想要的东西的样本来逐步学习,这不是一个好方法,IMO。

+0

好,谢谢乔恩... –

+0

我已经是这样的VAR EMP = db.employees.where(X = > x.Name == “PIYUSH”)toList();现在这个变量有一个特定的记录,其中empname(piyush)empid(5)和salary(20k)在那里...所以我想访问这个empid并将它存储在另一个变量 –

+0

@PiyushSardana:像什么? –

0

试试这个语法:

var empIds = db.Employees.Select(e=>e.EmpID) 
0

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

var result=db.Employees 
       .Select(s=>s.emp_id); 
2
var empId = db.Employees.Single(x => x.id == 5).Id; 
+0

不,我不想直接从员工表中获取emp编号,我在var emp..how中有该表中的几条记录 –

0
Database.Tablename.Single(x => x.id == anyId) 

这应该选择单列