Entity framework LINQ到实体联接表返回
我有两个表格如下:Entity framework LINQ到实体联接表返回,entity-framework,join,linq-to-entities,Entity Framework,Join,Linq To Entities,我有两个表格如下: Departments: DeptID (PK) DeptName ... Employees: EmpID (PK) DeptID (FK) EmpName ... public List<Employee> GetEmployee(int deptID) { var query = from e in mdc.Employees join d in mdc.D
Departments:
DeptID (PK)
DeptName
...
Employees:
EmpID (PK)
DeptID (FK)
EmpName
...
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();
}
我有一个使用LINQ的查询,如下所示:
Departments:
DeptID (PK)
DeptName
...
Employees:
EmpID (PK)
DeptID (FK)
EmpName
...
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();
}
public List GetEmployee(intdeptid)
{
var query=来自mdc.Employees中的e
将d加入mdc。e.DeptID上的部门等于d.DeptID
其中e.DeptID==DeptID
选择新的{e.EmpID,e.EmpName,d.DeptName};
返回query.ToList();
}
现在我的问题是。我想选择字段EmpID、EmpName和DeptName。
但我的回报类型是什么?此查询返回一个错误,因为此查询返回的是一个
genericslist
,而不是我的List
,您需要创建另一个具有如下所需属性的类
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();
}
public List GetEmployee(intdeptid)
{
var query=来自mdc.Employees中的e
将d加入mdc。e.DeptID上的部门等于d.DeptID
其中e.DeptID==DeptID
选择新的新类型{e.EmpID,e.EmpName,d.DeptName};
返回query.ToList();
}