我有这样的LINQ查询:
var q = from p in m.TblOzvs.AsEnumerable()
where (p.OzviyatNumber == txtSearch.Text)
select new mylist
{
Col1 = p.OzviyatNumber.ToString(),
Col2 = p.Name,
Col3 = Calculate._RPMajmoSoodeGhest(p.OzviyatNumber)[1],
Col4 = Calculate._RPMajmoSoodeGhest(p.OzviyatNumber)[0]
};
正如您所看到的,对于Col3
和Col4
,我需要调用一个函数来返回一个字符串数组,其中string[1]
用于Col3
和{{1} }是string[0]
。
我想知道是否有任何方式可以拨打Col4
一次并将其用于Calculate._RPMajmoSoodeGhest()
和Col3
?
答案 0 :(得分:4)
您可以使用'let'来定义您可以在查询的“选择”部分中引用的数量:
var q = from p in m.TblOzvs.AsEnumerable()
where (p.OzviyatNumber == txtSearch.Text)
let calcVal = Calculate._RPMajmoSoodeGhest(p.OzviyatNumber)
select new mylist
{
Col1 = p.OzviyatNumber.ToString(),
Col2 = p.Name,
Col3 = calcVal[1],
Col4 = calcVal[0]
};