0
我想使用Linq到ADO.NET從DataTable中獲取符合以下條件的所有行。Linq到ADO.NET父/子查詢幫助
- 選擇「parentId」等於「parentId」等於null的行的「id」的所有行。
- 按「名稱」排序。
有人能告訴我如何做到這一點(最好同時使用查詢語法和方法語法),並可能指向我在哪裏可以閱讀更多關於此主題?
我想使用Linq到ADO.NET從DataTable中獲取符合以下條件的所有行。Linq到ADO.NET父/子查詢幫助
有人能告訴我如何做到這一點(最好同時使用查詢語法和方法語法),並可能指向我在哪裏可以閱讀更多關於此主題?
沒有「Linq to ADO.NET」這樣的東西(也許你對ADO.NET實體框架感到困惑)。在你的情況,你似乎是指LINQ到數據集
你可以做這樣的事情:
查詢語法:
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"));