2015-11-23 65 views
0

我想要獲取基於條件的儀表板頁面上的請購清單。條件列表應顯示分配給用戶的申請並具有「已啓動」狀態。它與這個查詢完美地顯示。實體框架中的條件

if(p.Name == "mypendingtask") { 
    int x = Int32.Parse(p.Value); 
    linqQry = linqQry.Where(it => it.RequisitionTasks.Count(t => t.AssignedTo == x && t.Status == "Started") > 0); 
} 

但進一步的我想也顯示其重新分配給用戶的申請,但在這裏它顯示了徵用給所有用戶。

if(p.Name == "mypendingtask") { 
    int x = Int32.Parse(p.Value); 
    linqQry = linqQry.Where(it => it.RequisitionTasks.Count(t => t.AssignedTo == x && t.Status == "Started" || t.Status == "Reassigned") > 0); 
} 

我被困在這裏,幫助將非常感激。

回答

2

你需要在你的病情括號:

t.AssignedTo == x && (t.Status == "Started" || t.Status == "Reassigned") 

因爲& &操作的優先級高於運算符||。

1

您可以使用您的字符串值的數組來比較,只是使用了「包含」功能:

string[] values = { "Started", "Reassigned", "Other" }; 

var query = query.Where(t => values.Contains(t.Status));