繁体   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