linq从每次迭代中调用

时间:2012-02-01 16:02:41

标签: .net linq linq-to-sql

我有一个完整的linq查询

var results = mainList.Select(item => new {
                               spResult: sp_getsys(item.PSID, 
                                                   item.Nominprsn),
                                            PSID: item.PSID,
                                            Nominprsn: item.Nominprsn
                                 }); 

主列表有2行。一个用于PSID,另一个用于Nominprsn 对于每次迭代,我需要调用一个名为sp_getsys的存储过程。 spResult的结果是一个包含8行的列表。我需要获得第二行,并进一步获得名为PSDate的字段。 我怎样才能修改上面的spResult:sp_getsys(item.PSID,item.Nominprsn)来做到这一点?

1 个答案:

答案 0 :(得分:0)

我认为这样可以完成这项工作,但似乎最好将其分解为foreach循环以获得一些清晰度。

var results = from item in mainList
              select new
              {
                  spResult = sp_getsys(item.PSID, item.Nominprsn).Skip(1).FirstOrDefault().PSDate,
                  PSID = item.PSID,
                  Nominprsn = item.Nominprsn
              };
相关问题