小编Luc*_*iro的帖子

如何在Entity Framework中执行条件包含

我目前正在使用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)

有帮助吗?我想我可能会错过这里非常简单的事情.

c# entity-framework

5
推荐指数
1
解决办法
2607
查看次数

标签 统计

c# ×1

entity-framework ×1