質問

SPFOLDERが存在する場合は、結果を提供するCAMLクエリがあります。 Item.Countを実行すると、実行する行が2秒前にかかります。何が間違っているのか、クエリを実行するのに時間がかかるのは何ですか?

SPQuery query = new SPQuery();
query.Query = "<Where><And><Eq><FieldRef Name='LinkTitle'/><Value Type='Text'>" +         folderName + "</Value></Eq><Eq><FieldRef Name='FSObjType'/><Value Type='Lookup'>1</Value></Eq></And></Where>";
query.ViewAttributes = "Scope=\"RecursiveAll\"";

//Retrieve the items based on Query                
SPListItemCollection items = list.GetItems(query);
                                //if (!folderExists)
if (items.Count == 0)
{
//Operation
}
.

役に立ちましたか?

解決

ここにいくつのフィールドがありますか?それは標準の文書ライブラリですか、それともいくつかの追加のメタデータを追加しましたか?たとえそれが正常であっても、あなたは問題のすべてのフィールドを引くためにを必要としますか?必要なものだけを返すために、クエリのViewFields属性を変更してみてください。それ以外の場合は、すべてのフォルダを横断しています( "Recursieall" scope属性)。あなたが大きなライブラリを持っているならば、特にたくさんのレベルを持つものがあるならば、それはしばらく時間がかかります。一方、アイテムがどのフォルダにあるかもしれないかについての良い考えを持っているならば、あなたは検索を単一のサブフォルダに切り捨てることを考えるかもしれません。

ライセンス: CC-BY-SA帰属
所属していません sharepoint.stackexchange
scroll top