【问题标题】:Dynamically building CAML query in SharePoint 2010在 SharePoint 2010 中动态构建 CAML 查询
【发布时间】:2011-03-29 23:05:40
【问题描述】:

我需要从列表中获取项目取决于 ItemID。我有一个包含 5000 个项目的列表,其中我只检索 1000 个项目,我将使用 JohnHoliday CAML.NET 和查询动态构建 CAML 查询当时有 1000 个条件,我得到 Value does not fall in the Expected Range 错误。该查询最多可处理 150 个项目,但在 ItemID 增加时会引发错误。您能为这个问题提供合适的解决方法吗?

【问题讨论】:

    标签: sharepoint sharepoint-2007 sharepoint-2010 caml


    【解决方案1】:

    您遇到了 CAML 查询的大小限制,AFAIK 没有在任何地方记录,但肯定存在。

    如果您只需要支持 2010,那么您可以使用新的 运算符,这可能会让您进一步出价

    【讨论】:

      【解决方案2】:

      在 sharepoint 2010 中有一个列表视图阈值配置,使管理员能够确定您可以在一个补丁中检索的最大项目 为了克服这个问题,您可以使用 ContentIterator check this link for more help

      【讨论】:

        【解决方案3】:

        为什么不遍历 SPList.Items 并获取您需要的项目?因此无需构建复杂的 caml 查询。或调用 SPList.GetItemByUniqueId。

        【讨论】:

          猜你喜欢
          • 2010-12-31
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多