0

我有两个表如下:

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。但是我的返回类型是什么?这个返回一个错误,因为这个查询返回 aGenericList而不是 my List<Employee>

4

1 回答 1

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();
}
于 2012-11-08T03:17:56.153 回答