我目前正在使用EF而且我有两张桌子,Employees并且Orders鉴于它Employee有多个Orders.
我需要在EF中执行一个查询,它会为我提供所有Employees相关的列表Orders,但只包含两个日期之间的查询.如果在给定时间内Employee没有执行任何操作Order,他的Orders列表将为空.
我想我需要从EmployeesDbSet 开始我的查询,但是如何为Orders属性分配条件?
我试图这样做,但显然它没有用.
public List<Employee> GetAllByIdListAndDateRange(int[] ids, DateTime fromDate, DateTime toDate)
{
var query = _context.Set<Employee>().Where(a => ids.Contains(a.EmployeeID)).Include(a => a.Orders.Where(o.OrderDate <= toDate && o.OrderDate >= fromDate));
return query.ToList();
}
Run Code Online (Sandbox Code Playgroud)
有帮助吗?我想我可能会错过这里非常简单的事情.