Adr*_*and 8 c# linq entity-framework group-by ef-code-first
我知道更改查询的形状会导致实体框架忽略包含调用,但是当我执行select many和group by时,有一种方法可以让它加载子属性.在以下示例中,我想通知在特定时间段内预订了工作的所有员工.在只触及数据库一次的地方之后调用.ToArray(),但我在内存中执行SelectMany和GroupBy.有没有办法让SelectMany和GroupBy在SQL服务器上发生,并且仍然包含ServiceType和Ship以及Employee详细信息?
我正在寻找一种方法来对数据库进行一次SQL调用,最后得到一个员工列表,这些员工在这段时间内有一份工作,并且他们被分配到这些工作岗位.
var employeeJobs = DataContext.Jobs.
Include("ServiceType").
Include("Ship").
Include("JobEmployees.Employee").
Where(j => j.Start >= now && j.Start <= finish).
OrderBy(j => j.Start).
ToArray().
SelectMany(j => j.JobEmployees, (j, je) => new {
Job = j,
Employee = je.Employee
}).GroupBy(j => j.Employee);
Run Code Online (Sandbox Code Playgroud)