2

TFS SDK を使用して、次を使用して作業項目をクエリしていWorkItemStore.Queryます。

WorkItemCollection workItems = WorkItemStore.Query("SELECT ID from workitems");

foreach(WorkItem wi in workItems)
{
    string Id = wi.Id;
    foreach(Attachment attachment in wi.Attachments)
    {
        Console.Write(attachment.Uri.OriginalString); //SLOW
    }
}

コレクションからのアイテムへのアクセスが遅すぎます。WorkItem メンバーにアクセスするたびに TFS サーバーと通信していますか? 一度に必要なすべてのフィールドを取得するような方法でクエリを作成する方法はありますか?

問題は、TFS サーバーがオフショアにあるため、速度が遅いことです。まとめてクエリを実行すると、はるかに高速になります。

編集:添付ファイル フィールドをクエリできません。「添付ファイル」は有効なフィールドではありません。

4

2 に答える 2

1

クエリは添付ファイルを取得しません。各 wi.Attachments 呼び出しは、別のクエリを作成してデータを取得します。

于 2010-10-08T13:21:28.460 に答える
0

さて、あなたのクエリは、作業項目から ID を取得するだけでよいことを指定しています。お尋ねのとおり、返される前にすべての情報を収集する必要があるため、必要なすべての情報を要求する方が効率的であると思います。

于 2010-10-08T12:17:21.290 に答える