2011-12-13 82 views
1

我有这行代码选择工作流程状态,然后获取映射到它的下一个工作流程状态。如果第二个包含在第一个包含中被引用,是否需要执行两个EF包含?

status = db.WorkflowStatuses 
    .Include(x => x.CurrentMappings.Where(y => y.IsActive && y.NextWorkflowStatus.IsActive)) 
    .Include(x => x.CurrentMappings.Select(y => y.NextWorkflowStatus).Where(y => y.IsActive)) 
    .FirstOrDefault(x => x.Id == id); 

我的问题是,我需要第二Include,因为我在第一Include引用NextWorkflowStatus?

回答

2

Include表示EF中的急切加载和急切加载不支持筛选或排序,因此您的代码根本无法工作。包含呼叫内部不能使用Where

相关问题