研究了好久linq 子查詢
google 都只有教在where 條件下的作法
自己寫了一支在select 的時後子查詢
但是動作確有錯誤
貼上程式碼請有經驗的板友指導一下
原始JSON
{
"is":false,
"lay":[
{
"des":"",
"id":"8891",
"Enable":true,
"glb":1
},
{
"des":"",
"id":"33456",
"Enable":true,
"glb":2
}],
"Urlist":[
{"glb":1,"Url":"http://tw.yahoo.com/YHO01"},
{"glb":2,"Url":"http://tw.yahoo.com/YHO09"}
]
}
目前LINQ 的寫法
JObject layCount = resultJsObj;//上面的JSON 己在resultJsObj 中
var aa = from x in layCount["lay"]
select new { lay = x["id"],
glb = ( from y in layCount["Urlist"]
where ( int ) y["glb"] == ( int ) x["glb"]
select y["Url"])
};
我想要的輸出
aa.lay => 8891
aa.glb => http://tw.yahoo.com/YHO01
aa.lay => 33456
aa.glb => http://tw.yahoo.com/YHO01
但是實際上 glb 欄位這樣的寫法是錯誤的
想請問正確的linq 子查詢 寫法應該如何下才會正確作動