我有两张表如下:
Departments:
DeptID (PK)
DeptName
...
Employees:
EmpID (PK)
DeptID (FK)
EmpName
...
我使用LINQ查询如下:
public List<Employee> GetEmployee(int deptID)
{
var query = from e in mdc.Employees
join d in mdc.Departments on e.DeptID equals d.DeptID
where e.DeptID == deptID
select new { e.EmpID, e.EmpName, d.DeptName };
return query.ToList();
}
现在我的问题是这个。我想选择字段EmpID,EmpName和DeptName。
但是我的回报类型是什么?这个返回一个错误,因为此查询返回GenericList
而不是List<Employee>
。
答案 0 :(得分:1)
您需要创建另一个具有所需属性的类,
public class NewType{
public EmpID{get;set;}
//other fields here
}
然后选择,
public List<NewType> GetEmployee(int deptID)
{
var query = from e in mdc.Employees
join d in mdc.Departments on e.DeptID equals d.DeptID
where e.DeptID == deptID
select new NewType{ e.EmpID, e.EmpName, d.DeptName };
return query.ToList();
}