[英]Using where clause with Group Joins in LINQ
我是LINQ的新手,但是我不知道這段代碼有什么問題。 我想要的只是將查詢的結果存儲在數組列表中,這給了我一個例外:索引超出范圍。 必須為非負數並且小於集合的大小。
var JoinLCandSymp =
(from symp in SymptomsTable.AsEnumerable()
join leftC in LeftChestTable.AsEnumerable() on symp.Field<int>("Symptom_Number") equals leftC.Field<int>("Symptom_Number") into Sgroup
from SF in Sgroup
where SF.Field<int>("Rank") == 1 && SF.Field<string>("Category") == "Pain"
select symp.Field<string>("Symptom_Name")
);
foreach (string val in JoinLCandSymp)
{
GlobalVariables.sympLCWR1Pain.Add(val);
}
任何幫助都會真的有幫助。 :)
好的,這是另一個相同的過程...這可能有什么問題? 給出相同的例外。
var JoinLCandSymp =
(from symp in SymptomsTable.AsEnumerable()
join leftC in LeftChestTable.AsEnumerable() on symp.Field<int>("Symptom_Number") equals leftC.Field<int>("Symptom_Number")
where leftC.Field<int>("Rank") == 1 && leftC.Field<string>("Category") == "Pain"
// group leftC by symp into SympGroup
select symp.Field<string>("Symptom_Name")
);
foreach (string val in JoinLCandSymp)
{
GlobalVariables.sympLCWR1Pain.Add(val);
}
我認為最好使用View或USP(用戶存儲過程),當您在.Net中使用USP時,您將返回相同的數據帶。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.