0

IQueryableで2つのエンティティを結合したい

これが私がすることです:

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

エラーは、結合句とは関係ありません。これは、クエリがコレクションを返すように要求するためですEmployeeScheduleが、select で匿名型を作成するためです。select を変更して new を返すようにしますEmployeeSchedules

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