多SPListItemCollection查询与SPFieldLookupValue
虽然SPList对象不完整,保持真正的关系由于非结构化SharePoint数据存储的本质(在当前版本中,至少),它是在业务应用中常用使用查阅字段类型之间建立杠杆SharePoint列表弱引用。 因此,类型集合的查询成为重要的,结合链接LINQ的方法允许我们编写简洁SPListItem回报。
首先,让我们做一些必要的测试代理对象:
C#中:
- ; SPWeb curWeb = SPContext。 电流 。 网络 ;
- "My First List" ] ; SPList列表1 = curWeb。 名单 [“我的第一个名单”];
- "My Second List" ] ; SPList清单2 = curWeb。 名单 [“我的第二个名单”];
现在,让我们假设下面的业务需求。 我想遍历列表1,并返回SPField匹配字符串值条件的文字定义。 clause.随后,回报将用于在列表2 SPList对象在WHERE子句中。 这是考虑下面的代码片断:
C#中:
- <SPListItem> ( )无功的ResultSet =列表1。 项目 。 主演 <SPListItem>()
- i => Equals ( String . Compare ( i [ "Property To Match #1" ] . ToString ( ) , "Example String Literal" ) , 0 ) ) 。 凡 (一 =“等于( 字符串 。 比较 (一[” 属性匹配#1“]。 的toString(),” 示例字符串“),0))
- x => list2. Items . Cast <SPListItem> ( ) 。SelectMany(x =“清单2。 项目 。 主演 <SPListItem>()
with the result of the call using ToList to forces immediate execution.上面的代码是有争议的类型集合为基础的第二件工作,应分解成单独的变量在调用之前,代之以在SelectMany同使用ToList到部队调用的结果立即执行的演员陈述。 高新协力。 ![]()































[...]多SPListItemCollection查询与SPFieldLookupValue [...]
通过链接(2009年4月30日)«史蒂夫Pietrek -一切SharePoint和Office - 2009年4月30日@ 16:47:00 Pingback 下午
[...]加入使用LINQ四月30,2009 - 基思SharePoint列表达尔比我刚才读但亚当Buenz另一职位,让我想,这对查询多个SharePoint列表的时间。 下面的代码,他提出了:[...]
Pingback的加入SharePoint列表使用LINQ «固溶。网 - 4月30日@ 下午10点03分
好极了! 更为简洁Foreach源代码,然后在SPListItems循环。
评论由柯克长 - 2009年5月5日@ 上午07点50分
相当合理的,但调试它是在没有在VS.NET即时窗口中过度使用困难。
评论由马特吨 - 2009年5月5日@ 上午07时57分
这是不错,但调试很难看馆藏建设的运行时间。 我可以使用更多的本地变量...但最终的结果将是相同的...
评论由詹姆斯福特纳 - 2009年5月8日@ 上午07点34分