Est-il un moyen pour obtenir l'objet d'un Dossier de ListItem?

Je vais essayer d'obtenir le Dossier de l'objet par son chemin d'accès dans SharePoint 2010 client demande de l'aide Côté Client (Modèle d'Objet.Net 4.0).

J'ai besoin de vérifier si le dossier décrit par 'folderPath variable existe dans la bibliothèque, puis obtenir l'objet d'un Dossier pour d'autres opérations. Pour améliorer les performances, j'ai choisi d'utiliser CAML requête pour filtrer la liste.

Mon code:

IEnumerable<List> library = this.clientContext.LoadQuery(
    this.clientContext.Web.Lists.Where(p => p.Title == this.documentLibrary));
this.clientContext.ExecuteQuery();
List libraryList = library.FirstOrDefault();
//code to handle libraryList == null

CamlQuery camlQuery = new CamlQuery();
camlQuery.ViewXml =
   "<View Scope=\"RecursiveAll\">" +
       "<Query>" +
           "<Where>" +
               "<And>" +
                   "<Eq>" +
                      "<FieldRef Name=\"FSObjType\"/>" +
                      "<Value Type=\"Integer\">1</Value>" +
                   "</Eq>" +
                   "<Eq>" +
                      "<FieldRef Name=\"FileRef\" />" +
                      "<Value Type=\"Text\">" + folderPath + "</Value>" +
                   "</Eq>" +
               "</And>" +
           "</Where>" +
       "</Query>" +
   "</View>";

ListItemCollection items = libraryList.GetItems(camlQuery);
clientContext.Load(items);
clientContext.ExecuteQuery();

À ce stade, tout est OK. Mais je n'ai aucune idée de comment obtenir le 'Dossier' objet à partir d'un élément. J'ai essayé de le faire de cette façon:

Folder folder = items.FirtsOrDefault().Folder;
clientContext.Load(folder);
clientContext.ExecuteQuery();

et de cette façon (utilisé à la place des trois dernières lignes du premier extrait de code):

ListItemCollection items = libraryList.GetItems(camlQuery);
clientContext.Load(items, collection => collection.Include(item => item.Folder));
clientContext.ExecuteQuery();

Mais dans les deux cas, j'ai eu une Exception:

1er: Champ 'ou bien 'Dossier' existe pas.'

2e: 'Colonne 'Dossier' n'existe pas. Il peut avoir été supprimé par un autre utilisateur".

Est-il un moyen de le faire? Ou peut-être que je suis en train de faire quelque chose de mal? Merci d'avance pour l'aide.

OriginalL'auteur adams | 2014-03-14