linq查询以按员工方式获取数据

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

环境管理硕士:

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               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()