linq to sharepoint是否支持文档库?

时间:2013-08-14 14:32:23

标签: sharepoint-2010 caml

我有一个文档库。我想根据一些过滤条件过滤文档。很难动态生成Caml查询,这将根据过滤器值给出实际结果。

过滤器值是文档库中的列。 Linq to Sharepoint支持列表,但无论如何我也可以查询文档库吗?

1 个答案:

答案 0 :(得分:0)

使用SPMetal工具生成实体后,您可以使用Linq To Sharepoint。

http://www.codeproject.com/Articles/399927/SharePoint-2010-LINQ-and-SPMetal

这是Sharepoint Link的示例:

using (SiteEntitiesDataContext context = new SiteEntitiesDataContext("http://appes-pc"))
{
    var result = context.Manager.Where(m => m.Country == "USA");

    foreach (ManagerItem manager in result)
    {
        Console.WriteLine(manager.Name);
    }
}

或者,如果您想使用CAML,还有一个非常好的CAML构建器实用程序,名为:

Camlex.NET - http://camlex.codeplex.com/

所以这个:

<Where>
  <Eq>
    <FieldRef Name="Status" />
    <Value Type="Text">Completed</Value>
  </Eq>
</Where>

可以写成:

string caml =
    Camlex.Query()
        .Where(x => (string)x["Status"] == "Completed").ToString();