我是LINQ的新手,但我不知道这段代码有什么问题。我想要的是将查询的结果存储在数组列表中,它给出了Exception:Index超出范围。必须是非负数且小于集合的大小。
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);
}
答案 0 :(得分:0)
我认为使用View或USP(用户存储过程)更好,何时在.Net中使用USP会返回相同的数据磁带。