我想在TSQL中使用此表中的给定父级收集所有子行。
ID Name parentID
------ ------ ---------
1 ABCD 0
2 xyz 1
3 efg 1
4 lm 2
请告诉我如何使用linq获取层次结构列表。
答案 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();
}