0
我用我的篩選對象的代碼是這樣的:IQueryable的不適合不行等於
var dynamicdataentrances = db.DynamicDataEntrances.OrderByDescending(d => d.ID)
.AsQueryable();
if (TypeID != null)
dynamicdataentrances =
dynamicdataentrances.Where(d => d.DetailPageID == TypeID).AsQueryable();
if (RegionID != null)
dynamicdataentrances =
dynamicdataentrances.Where(d => d.RegionID == RegionID).AsQueryable();
if (ShiftGroupID != null)
dynamicdataentrances =
dynamicdataentrances.Where(d => d.ShiftPlan.ShiftGroupID == ShiftGroupID)
.AsQueryable();
和它的作品沒有任何問題。但是,根據「工作流程狀態」篩選對象不起作用。它的代碼是這樣的:
foreach (var wfs in workflowstates)
{
if (Request[wfs.ID.ToString()] != wfs.ID.ToString())
dynamicdataentrances =
dynamicdataentrances.Where(d => d.WorkflowStateRelation.WorkflowStateID
!= wfs.ID).AsQueryable();
}
正如你可以看出,我使用複選框進行過濾;如果未選中「工作流狀態」複選框,則會獲得其工作流狀態不等於未選中狀態的對象。我調試了這些行,foreach,如果塊正常工作,但查詢無法正常工作,它會一直獲取所有對象。這是一個錯誤還是我做錯了什麼?
如果在工作流程狀態過濾之前將我的對象集合變爲列表,它將正常工作。