0

我想在 IQueryable 中加入两个实体

这就是我所做的:

IQueryable<EmployeeSchedule> employeeScheduleResult = 
    from empSched in ctx.EmployeeSchedules.ToList() 
    join emp in ctx.Employees.ToList() on empSched.EmployeeId equals emp.EmployeeId 
    select new {
        empSched.ScheduleId,
        empSched.ScheduleDt,
        empSched.Branch,
        empSched.StartTime,
        empSched.EndTime,
        empSched.LunchTime,
        empSched.LunchBreak,
        empSched.LunchBreak_NS,
        Employee = emp.LastName + emp.FirstName + emp.MiddleName
    };

这是我收到的错误:

无法将类型“System.Collections.Generic.IEnumerable”隐式转换为“System.Linq.IQueryable”。存在显式转换(您是否缺少演员表?)

4

1 回答 1

1

该错误与 Join 子句无关。你得到这个是因为你要求你的查询返回一个集合,EmployeeSchedule但是在选择中你创建了一个匿名类型。更改您的选择以返回新的EmployeeSchedules

select new EmployeeSchedule
{
    ScheduleId = empSched.ScheduleId,
    ScheduleDt = empSched.ScheduleDt,
    [...and so on..]
};
于 2013-01-22T04:17:03.887 回答