リストのすべてのアイテムをロードせずに、リストからアイテムを取得したい。を呼び出すことでできることはわかっていSPList.getElementbyId(myID)
ますが、この myID がリストに存在するかどうかわからない場合は、どうすれば確認できますか? はい、使用できます
SPListItem myItem = myList.Items[myID];
if (myItem == null)
{
// log that we don't have this item
}
ただし、この方法で を呼び出すとmyList.Items
、リストのすべてのアイテムが inmyList
オブジェクトにロードされます (40,000 個のアイテムがある場合は、実際にはパフォーマンスの問題です)。
SPListitem myItem = myList.getElementById(myID);
このようにして、Items
プロパティを呼び出さず、それらのアイテムをロードする必要がなくなります。問題は、getElementById
その ID がリストに存在しない場合、メソッドが例外をスローすることです。try/catch
数百の ID を確認したい場合があり、それらすべてのスローを処理するとパフォーマンスの問題が再び発生する可能性があるため、それをステートメントに入れることは解決策ではありません。特定の ID を持つアイテムの存在を確認するためのアイデアはありますか?