我有类似的东西
var emp = db.Employees.toList();
在我的employees表中我有emp名称,emp id和salary,使用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列并将其存储在另一个变量中
答案 0 :(得分:13)
目前还不完全清楚你要做什么,这就是为什么你用不同的方法得到这么多答案的原因。如果您正试图将“员工集合”变成“ID集合”,那么您需要这样的内容:
var ids = emp.Select(x => x.Id);
或更直接:
var ids = db.Employees.Select(x => x.Id);
(可选择在每个结尾处加ToList
。)
我强烈建议您在一本好书或教程的帮助下,从头开始,彻底地学习LINQ(以及与var
等有些相关的语言特性)。通过找到一些有点像你想做的样品来零碎学习,这不是一个好方法,IMO。
答案 1 :(得分:2)
var empId = db.Employees.Single(x => x.id == 5).Id;
答案 2 :(得分:0)
试试这个语法:
var empIds = db.Employees.Select(e=>e.EmpID)
答案 3 :(得分:0)
您可以使用select
。也许是这样的:
var result=db.Employees
.Select(s=>s.emp_id);
答案 4 :(得分:0)
Database.Tablename.Single(x => x.id == anyId)
这应该选择单行