簡體   English   中英

Linq to ADO.NET父/子查詢幫助

[英]Linq to ADO.NET parent/child query help

我想對ADO.NET使用Linq從數據表中獲取與以下條件匹配的所有行。

  • 選擇“ parentId”等於“ null”的所有行。
  • 按“名稱”排序。

有人可以告訴我如何完成此操作(最好同時使用查詢語法和方法語法),並可能指出我可以在其中閱讀更多有關此主題的信息嗎?

沒有“ Linq to ADO.NET”之類的東西(也許您對ADO.NET實體框架感到困惑)。 就您而言,您似乎是在將Linq指向DataSets

你可以做這樣的事情:

查詢語法:

var parents = from row in table.AsEnumerable()
              where row.IsNull("parentId")
              select parents;

var children = from row in table.AsEnumerable()
               where parents.Any(p => p.Field<int>("id") = row.Field<int>("parentId"))
               orderby row.Field<string>("Name")
               select row;

方法語法:

var parents = table.AsEnumerable()
              .Where(row => row.IsNull("parentId"));

var children = table.AsEnumerable()
               .Where(row => parents.Any(p => p.Field<int>("id") = row.Field<int>("parentId")))
               .OrderBy(row => row.Field<string>("Name"));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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