从给定的表中收集父母的所有孩子

时间:2016-01-12 14:59:35

标签: c# entity-framework linq tsql

我想在TSQL中使用此表中的给定父级收集所有子行。

ID     Name   parentID
------ ------ ---------
 1     ABCD          0
 2     xyz           1
 3     efg           1
 4     lm            2

请告诉我如何使用linq获取层次结构列表。

2 个答案:

答案 0 :(得分:1)

Make和AJAX从客户端调用静态方法:

          $.ajax({
              type: "POST",
              url: "/WebMethods/Test.aspx/getChildren",
              data: "{myID:" + someID+ "}",
              contentType: "application/json",
              dataType: "json",
              success: function (msg) {
                  // work on your json

              },
              error: function (msg) {
                  alert("error:" + JSON.stringify(msg));
              }
          });

使用参数查找父实体,然后您可以找到属于该父实体的所有子实体。确保在实体模型中建立了外键约束。

       public static string getChildren(int myID){
                using (var rep = new context()) {
                Header head = rep.Headers.Where(x => x.ID== myID).First();

                var details = head.Details.ToList();
                }
       // Convert List to JSON and return to client
                string myChidren="";
                return myChildren;
       }

答案 1 :(得分:0)

您可以将此示例用于您的案例。

using (DbContext context = new DbContext())
{
    List<Collect> lstObj = context.Collect.OrderBy(c=> c.ID).ToList();
}