Как проверить существование элементов по идентификатору в списках SharePoint? - PullRequest
1 голос
/ 12 января 2009

Я хочу получить элемент из списка, не загружая все элементы списка. Я знаю, что могу сделать это, позвонив по номеру SPList.getElementbyId(myID), но если я не знаю, существует ли этот myID в списке, как мне это проверить? Да, я мог бы использовать

SPListItem myItem = myList.Items[myID];
if (myItem == null)
{
   // log that we don't have this item
}

Однако, таким образом, когда я звоню myList.Items, все элементы списка загружаются в объект myList (а если у меня 40 000 элементов, это действительно проблема производительности), поэтому я бы скорее используйте:

SPListitem myItem = myList.getElementById(myID);

Таким образом, я не буду вызывать свойство Items, и нам не нужно будет загружать эти элементы. Теперь проблема в том, что метод getElementById сгенерирует исключение, если этот идентификатор в списке присутствует. Это не решение, чтобы поместить это в try/catch статистику, потому что мы могли бы хотеть проверить несколько houndreds идентификаторов, и обработка всех этих бросков снова приведет к проблеме производительности. Есть какие-нибудь идеи проверить наличие предмета с данным идентификатором?

1 Ответ

2 голосов
/ 12 января 2009

Вы можете создать запрос со всеми идентификаторами, которые выполняет проверка, и сравнить возвращенный список с идентификаторами проверки и определить, какие из них действительны или нет.

Таким образом, вы получаете только то, что вам нужно, и все еще не найдены.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...