Я использую Web.GetChanges() для получения ряда изменений из сети SharePoint.
Мне нужно просмотреть изменения и для каждого изменения, которое является ChangeItem, проверить свойство FileSystemObjectType (чтобы различать изменения элементов и изменения папок).
Я не могу найти способ загрузить это свойство:
Я не могу загрузить его, когда вызываю GetChanges(), потому что FileSystemObjectType является свойством ChangeItem, а не Change (возвращается из GetChanges);
Я не могу использовать его после того, как применил Change к ChangeItem, потому что он возвращает исключение «Свойство не инициализировано».
Это фрагмент кода, о котором идет речь:
ChangeCollection changes = spcn.RootWeb.NativeWeb.GetChanges(query);
/* I cannot include FileSystemObjectType here */
spcn.RootWeb.NativeWeb.Context.Load(changes); //, c => c.Include(o => o.FileSystemObjectType));
spcn.RootWeb.NativeWeb.Context.ExecuteQuery();
foreach (Change change in changes)
{
Console.Write($"{change.GetType().Name} {change.ChangeType} {change.Time} ");
if (change is ChangeItem)
{
ChangeItem ci = (ChangeItem)change;
/* FileSystemObjectType is *not* initalised here */
Console.WriteLine($"{ci.ItemId} {ci.FileSystemObjectType}");
}
Я надеюсь, что это достаточно ясно, дайте мне знать, если это не так (NativeWeb — это SharePoint Web).
Любые идеи, как я могу загрузить это свойство?
Спасибо.