article bạn đang đề cập đến trong câu trả lời của bạn trình bày với một phương pháp để làm những gì bạn đang làm sau, sử dụng WIQL. Chắc chắn, không phải là một lựa chọn tồi.
Một cách khác, theo ý kiến của tôi tốt hơn, là chỉ đơn giản là tạo ra các truy vấn đồ họa mà mang lại kết quả bạn đang sau. Bạn có lẽ cần một đơn giản "hạng mục công trình và Chuyển liên kết":
Một khi bạn đã lưu mà bạn sẽ có thể:
- Mở truy vấn trong VS & Đội Web Access
- Tie truy vấn với Excel & hoạt động trên WIs từ bên trong Excel
- Ghi lại kết quả truy vấn bằng TFS-API.
Đối với phần sau, giả truy vấn của bạn được đặt tên là "MyLinkedQuery" và nó cư trú dưới "Đội Truy vấn" của TeamProject "MyProj", bạn có thể làm một cái gì đó như thế này:
using System;
using Microsoft.TeamFoundation.Client;
using Microsoft.TeamFoundation.WorkItemTracking.Client;
namespace LinkedQueryResults
{
class Program
{
static void Main()
{
TfsTeamProjectCollection teamProjectCollection = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(new Uri("http://TFSURL"));
var workItemStore = (WorkItemStore)teamProjectCollection.GetService(typeof(WorkItemStore));
var project = workItemStore.Projects["MyProj"];
QueryHierarchy queryHierarchy = project.QueryHierarchy;
var queryFolder = queryHierarchy as QueryFolder;
QueryItem queryItem = queryFolder["Team Queries"];
queryFolder = queryItem as QueryFolder;
if (queryFolder != null)
{
var myQuery = queryFolder["MyLinkedQuery"] as QueryDefinition;
if (myQuery != null)
{
var wiCollection = workItemStore.Query(myQuery.QueryText);
foreach (WorkItem workItem in wiCollection)
{
Console.WriteLine(workItem.Title);
}
}
}
}
}
}
Are có bất kỳ lợi thế hiệu suất nào để truy vấn được lưu không? Tôi cũng có các mục trên lớp 'thứ ba' mà tôi cần truy xuất, mà tôi vẫn chưa thể tìm ra cách. Tức là, các lỗi liên quan đến các trường hợp thử nghiệm, được liên kết với mục công việc yêu cầu. –
Truy vấn truy vấn từ TFS phải có, trên thực tế, một hình phạt hiệu suất. Điều này sẽ là tối thiểu mặc dù. Lợi ích chính là bạn có thể hình dung trong kết quả VS & duy trì nó một cách dễ dàng và nhất quán. Các tùy chọn khác (có một chuỗi WIQL cứng mã trong ứng dụng giao diện điều khiển của bạn) có thể chứng minh về lâu dài để được ít bảo trì. – pantelif
Mức 'thứ ba' mà bạn đề cập không thể truy cập được từ các truy vấn được tạo trực quan trong VS, nhưng bạn chắc chắn có thể làm điều đó với C#. – pantelif