Search code examples
c#tfswiql

How to query all Revisions from TFS for specified work item's?


Loading revisions like this is slow:

var revs = workItem.Revisions.ToList();

I want to get all revisions for all WorkItems, so I though about doing it through WIQL:

var flatQuery = new Query(store, "SELECT * FROM Revisions", workItemIds);
var revs = flatQuery.RunQuery();

But I don't know neither the name of available tables in TFS nor if it is possible at all.

Any suggestions to make those joins faster than one-by-one?


Solution

  • But I don't know neither the name of available tables in TFS nor if it is possible at all.

    Sure, we could use the following code to do that.

    var collectionUri = $"http://{myserver}:808/tfs/{CollectionName}"
    VssCredentials vssCredentials = new VssCredentials();
    VssConnection connection = new VssConnection(new Uri(collectionUri), vssCredentials);
    WorkItemTrackingHttpClientBase client = connection.GetClient<WorkItemTrackingHttpClient>();
    var revs = client.GetRevisionsAsync($"{projectName}", workitemId).Result;
    

    For more demo code about TFS .Net library, please refer to this document.