[英]Query to get all instead of FirstOrDefault
我需要遍歷子樹中的所有項目。 因此,我想將前任的所有childItem放入數組中。 我試過了:
var successors =
TabWebContext.MenuItemSet.Where(m => m.PredecessorId == parentId).ToArray();
我也嘗試了沒有.ToArray()
和.ToList()
。
我有以下循環: while (successors.Count()>0){...}
(或者說.Length>0
)。
條件永遠不會成立。 您認為我做錯了什么? 我知道有元素(如果執行.FirstOrDefault()
,則至少找到一個元素。
您為什么覺得它需要在數組中進行迭代? 您可以像這樣遍歷列表:
foreach (var successor in TabWebContext.MenuItemSet.Where(m => m.PredecessorId == parentId))
{
// do stuff with 'successor'
}
只是為了顯示一個示例,說明如何使用where
子句從數據源中全選。
int[] numbers = { 2, 34, 23, 11 }; //data source >> can be EF or ADO.NET
var result = numbers.Where(n => n <= 20).ToList(); // select all with filteration
foreach(int i in result ) //just to loop and
{
Console.WriteLine(i);
}
輸出:
22
11
因此,在var successors = TabWebContext.MenuItemSet.Where(m => m.PredecessorId == parentId).ToArray();
中看不到任何問題var successors = TabWebContext.MenuItemSet.Where(m => m.PredecessorId == parentId).ToArray();
如果您確實遇到錯誤,請在問題中加以說明。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.