簡體   English   中英

查詢以獲取全部而不是FirstOrDefault

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM