我有一个列表(主列表),其中包含以下内容
PsID Nominprsn
1詹姆斯 2特洛伊 3弗雷德
有一个存储过程,我传入了PSID和Nominprsn的值并返回结果。
var spresult = sp_getval(PSID, Nominprsn);
我不确定如何浏览列表,并且每个列表都会将值传递给该给定记录的存储过程。
输出为
PsID Nominprsn spresult
1詹姆斯3 2特洛伊4 3 Fred 2
我知道我可以做类似
的事情 var listv = (from ml in mainlist
select ml).ToList();
但不确定如何在每次迭代时调用sp_getval,因为我需要传递 PsID和Nominprsn的值并将其传递给sp_getval。
答案 0 :(得分:1)
我不是100%肯定你在问什么 - 但是如果我关注,你说你想要将列表中的每个条目映射到列表中为该项目调用你的sproc的结果?< / p>
如果是这种情况,你可以这样做:
var results = mainList.Select(item => sp_getval(item.PSID, item.Nominprsn))
编辑:我只是重新阅读您的问题,看看您想要的输出,在这种情况下,我会这样做:
var results = mainList.Select(item => new {
spResult: sp_getval(item.PSID, item.Nominprsn),
PSID: item.PSID,
Nominprsn: item.Nominprsn
});
这会将列表中的每个条目映射到一个包含三个成员的新匿名类型:列表对象中的原始两个字段,以及包含SP调用结果的新spResult字段。