在 LINQ 中 select 查询时如何存储变量?
How can store variable while select query in LINQ?
我有一个这样的 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
我需要调用一个函数 returns 一个字符串数组,其中 string[1]
用于 Col3
和 string[0]
用于 Col4
.
我想知道是否有任何方法可以调用 Calculate._RPMajmoSoodeGhest()
1 次并将其用于 Col3
和 Col4
?
您可以使用 'let' 来定义您可以在查询的 'select' 部分引用的数量:
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]
};
我有一个这样的 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
我需要调用一个函数 returns 一个字符串数组,其中 string[1]
用于 Col3
和 string[0]
用于 Col4
.
我想知道是否有任何方法可以调用 Calculate._RPMajmoSoodeGhest()
1 次并将其用于 Col3
和 Col4
?
您可以使用 'let' 来定义您可以在查询的 'select' 部分引用的数量:
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]
};