2013-10-10 15 views
6

Tôi đang sử dụng thư viện phía máy khách TFS, ví dụ: Microsoft.TeamFoundation. * Assemblies ... Cho rằng tôi có tên Iteration, làm cách nào để truy xuất tất cả các mục công việc thuộc về nó?Làm cách nào để nhận tất cả các mục công việc trong một lần lặp?

Tôi đã thử những điều sau đây sử dụng các đối tượng Query:

var uri = new Uri(ConfigurationManager.AppSettings["TfsUri"]); 
var tfs = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(uri); 
var wiStore = tfs.GetService<WorkItemStore>(); 

var queryText = "select [System.Id], [System.WorkItemType], [System.Title], [System.AssignedTo], [System.State] from WorkItems where [System.TeamProject] = 'VieroSAT' and [System.State] = 'Dev' order by [System.Id]"; 
var query = new Query(wiStore, queryText); 

nhưng tôi không thể tìm ra cách để giới hạn kết quả bằng cách lặp lại Tên. Và tôi muốn trả lại những giá trị này bằng cách sử dụng các hội đồng TFS, nhưng tôi không thể tìm ra phương pháp thích hợp.

Vì vậy, câu hỏi của tôi ...

  1. Làm thế nào để trả về một danh sách của tất cả các hạng mục công trình trong một lần lặp, sử dụng Assemblies TFS chỉ (ví dụ không có truy vấn).
  2. Nếu # 1 là không thể, làm cách nào để làm điều trên nhưng sử dụng đối tượng truy vấn.
+0

Bạn có thể tạo truy vấn VS/Web Access và lưu nó vào tệp và kiểm tra WIQL đang sử dụng, sau đó sử dụng trong ứng dụng của bạn. – DaveShaw

+0

@DaveShaw Bạn có thể mở rộng không? Làm cách nào để tôi lưu truy vấn vào tệp? – AngryHacker

+0

Tệp, Lưu dưới dạng .... Trong phòng thu trực quan – DaveShaw

Trả lời

7

Tôi không có cách kiểm tra nhanh, nhưng theo msdn, bạn có thể sử dụng toán tử so sánh Under trong truy vấn của mình. Tuy nhiên, tôi không chắc bạn sẽ sử dụng trường nào trong mệnh đề where where để so sánh với tên lặp. Có lẽ một cái gì đó như thế này:

select [System.Id], [System.WorkItemType], [System.Title], [System.AssignedTo], [System.State] 
from WorkItems 
where 
    [System.TeamProject] = 'VieroSAT' 
    and [System.State] = 'Dev' 
    and [System.IterationPath] Under 'Iteration1' 
order by [System.Id] 
+0

Truy vấn này trả về lỗi, cho biết lỗi đó là do [Mục công việc] – AngryHacker

+0

Đó là điều tôi không chắc chắn, trường sẽ là gì. Tôi dường như không thể tìm thấy bất kỳ thứ gì trong danh sách các trường có sẵn để truy vấn. – vlad

+0

@AngryHacker dựa trên nhận xét của DaveShaw, hãy thử như sau: [System.AreaId] = 15 hoặc [System.NodeName] = 'Iteration1' – vlad

Các vấn đề liên quan