linq查询以按员工方式获取数据
环境管理硕士: empid,empname 我有一张桌子叫 员工出差linq查询以按员工方式获取数据,linq,Linq,环境管理硕士: empid,empname 我有一张桌子叫 员工出差 travelid empid location date 1 101 abc 3/4/2014 2 102 lmn 4/4/2014 3 101 abc 5/4/2014 4
travelid empid location date
1 101 abc 3/4/2014
2 102 lmn 4/4/2014
3 101 abc 5/4/2014
4 102 lmn 6/4/2014
5 101 xyz 7/4/2014
6 102 cdf 8/4/2014
现在我想显示员工方面的记录,如:
empid location date
101 abc --
101 abc --
101 xyz
102 lmn
102 lmn
102 cdf
我用linq编写了以下查询:
var data = (from r in context.employee_travel
group r by new
{
r.Emp_id
} into g
select new
{
name = r.emp_master.empname,
r.date,
r.location
})
但这给了我一个错误:
****name = r.emp_master.empname,
r.date
r.location****
此处{name用作我的gridview**的d**atatextfield的查询中的非规则类型。}
有人可以编辑我的linq查询以满足我的需要吗
请帮帮我。我对linq非常陌生,所以我不知道如何编写这个查询
from et in employee_travel
orderby et.empid
select new
{
Employee = et.Employee,
TravelRecord = et, //if you want objects
Name = et.Employee.Name,
Date = et.Date //if you want simple types
}
在该示例中,我选择返回实体,但您当然可以返回名称、日期等,如果需要,还可以添加更多排序
或者,您可以只获取员工_travel
实体并包含员工
(确保您具有正确的包含属性名称)
db.employee_travel.Include("employee").OrderBy(et=>et.empid).ToList()