【发布时间】:2014-03-25 09:05:11
【问题描述】:
我想要一些文件夹 - 子文件。我有一个列表中的所有文件夹 SharePoint ID。我的代码正在运行,但它的性能非常糟糕,因为有很多 context.ExecuteQuery;
我想用 Caml Query 来实现。
using (var context = new ClientContext("http://xxx/haberlesme/"))
{
var web = context.Web;
var list = context.Web.Lists.GetById(new Guid(target));
int[] siraliIdArray;
//siraliIdArray = loadSharePointIDList(); think like this
for (var j = 0; j < siraliIdArray.Count; j++)
{
var folderName = listItemCollection[j]["Title"].ToString();//Folder Name
var currentFolder = web.GetFolderByServerRelativeUrl("/haberlesme/Notice/" + folderName);
var currentFiles = currentFolder.Files;
context.Load(currentFiles);
//I don't want to execute for n folder n times. I want to execute n folder 1 time.
context.ExecuteQuery();
var ek = new LDTOTebligEk();
//I don't want to add one - one
foreach (var file1 in currentFiles)
{
ek.DokumanPath = urlPrefix + folderName + "/" + file1.Name;
ek.DokumanAd = file1.Name;
ekler.Add(ek);
}
}
}
例如我有 100 个文件夹,但我想在一个 执行
中获得 10 个文件夹子文件夹【问题讨论】:
-
cLientcontext是SPMetal.exe生成的实体文件吗? -
不,它是类似于 'Microsoft.SharePoint.Client.dll' 中的 'public class ClientContext : ClientRuntimeContext' 的类
-
我已经编辑了你的标题。请参阅“Should questions include “tags” in their titles?”,其中的共识是“不,他们不应该”。
标签: c# sharepoint sharepoint-2010 caml sharepoint-clientobject