Abe*_*ler 1 .net linq linq-to-objects
我正在尝试针对两个对象(SPListItemCollection和List<SPListItem>)编写LINQ查询.
当我的查询类似于下面的查询时它工作正常:
var licFirst = from n in navList.Items.Cast<SPListItem>()
from z in licZeroth
where ((SPFieldLookupValueCollection)n["Parent"]).Select(t=>t.LookupId).Contains(z.ID)
select n;
Run Code Online (Sandbox Code Playgroud)
当我向select中添加一个项目时:
var licFirst = from n in navList.Items.Cast<SPListItem>()
from z in licZeroth
where ((SPFieldLookupValueCollection)n["Parent"]).Select(t=>t.LookupId).Contains(z.ID)
select n, ParentId = z.ID;
Run Code Online (Sandbox Code Playgroud)
它开始出错:
名称"z"在当前上下文中不存在
我该如何选择z.ID?
在第二个版本中,您需要稍微更改语法以获得具有2个属性的匿名类型,即n和ParentID.
select new { n, ParentID = z.ID };
Run Code Online (Sandbox Code Playgroud)
如果这不是您想要的,请在问题中澄清.