本节将讲述如何查询工作项,用于二次开发中定义获取工作项列表。

  使用WorkItemStore.Query方法进行查询工作项,其使用的语法和SQL语法类似:

Select [标题]

from workitems

where [工作项类型]='任务' and [指派给] = 'administrator'

order by [标题]

  我们通过多个步骤来学习,一、我们连接TFS服务:

            //TFSURI
Uri tfsUri = new Uri("http://pc-20130113jkun:8080/tfs");
TfsTeamProjectCollection projectCollection = new TfsTeamProjectCollection(tfsUri);
WorkItemStore workItemStore = (WorkItemStore)projectCollection.GetService(typeof(WorkItemStore));

  二、基本查询

            //基本查询
WorkItemCollection queryResults = workItemStore.Query(@"
Select [标题]
From WorkItems
Where [工作项类型] = 'Bug' ");
foreach (WorkItem item in queryResults)
{
Console.WriteLine(" 工作项名称:"+item.Title+" 工作项描述:"+item.Description);
}

  三、多条件查询和排序

           Console.WriteLine("--------------------------多条件查询和排序-------------------------");
//多条件查询和排序
WorkItemCollection itemcollection = workItemStore.Query(@"Select [标题] from workitems
where [工作项类型]='任务' and [指派给] = 'administrator' order by [标题] ");
foreach (WorkItem item in itemcollection)
{
Console.WriteLine(" 工作项名称:" + item.Title + " 工作项描述:" + item.Description);
}

  四、查询结果数量

            Console.WriteLine("--------------------------查询结果数量-------------------------");
//查询结果数量
string queryString = @" Select [标题] From WorkItems Where [工作项类型] = 'Bug'";
Query query = new Query(workItemStore,queryString);
int numWorkItems = query.RunCountQuery();
Console.WriteLine("工作项数量 " + numWorkItems + " user stories.");

  五、异步查询

            Console.WriteLine("--------------------------异步查询-------------------------");
//异步查询
ICancelableAsyncResult callback = query.BeginQuery();
callback.AsyncWaitHandle.WaitOne(, false);
WorkItemCollection result = query.EndQuery(callback);
foreach (WorkItem item in result)
{
Console.WriteLine(" 工作项名称:" + item.Title + " 工作项描述:" + item.Description);
}

  所有本文的代码皆在下面。

            //TFSURI
Uri tfsUri = new Uri("http://pc-20130113jkun:8080/tfs");
TfsTeamProjectCollection projectCollection = new TfsTeamProjectCollection(tfsUri);
WorkItemStore workItemStore = (WorkItemStore)projectCollection.GetService(typeof(WorkItemStore));
Console.WriteLine("--------------------------基本查询-------------------------");
//基本查询
WorkItemCollection queryResults = workItemStore.Query(@"
Select [标题]
From WorkItems
Where [工作项类型] = 'Bug' ");
foreach (WorkItem item in queryResults)
{
Console.WriteLine(" 工作项名称:"+item.Title+" 工作项描述:"+item.Description);
} Console.WriteLine("--------------------------多条件查询和排序-------------------------");
//多条件查询和排序
WorkItemCollection itemcollection = workItemStore.Query(@"Select [标题] from workitems
where [工作项类型]='任务' and [指派给] = 'administrator' order by [标题] ");
foreach (WorkItem item in itemcollection)
{
Console.WriteLine(" 工作项名称:" + item.Title + " 工作项描述:" + item.Description);
} Console.WriteLine("--------------------------查询结果数量-------------------------");
//查询结果数量
string queryString = @" Select [标题] From WorkItems Where [工作项类型] = 'Bug'";
Query query = new Query(workItemStore,queryString);
int numWorkItems = query.RunCountQuery();
Console.WriteLine("工作项数量 " + numWorkItems + " user stories."); Console.WriteLine("--------------------------异步查询-------------------------");
//异步查询
ICancelableAsyncResult callback = query.BeginQuery();
callback.AsyncWaitHandle.WaitOne(, false);
WorkItemCollection result = query.EndQuery(callback);
foreach (WorkItem item in result)
{
Console.WriteLine(" 工作项名称:" + item.Title + " 工作项描述:" + item.Description);
} Console.ReadLine();

  

TFS二次开发系列:五、工作项查询的更多相关文章

  1. TFS二次开发系列:七、TFS二次开发的数据统计以PBI、Bug、Sprint等为例(一)

    在TFS二次开发中,我们可能会根据某一些情况对各个项目的PBI.BUG等工作项进行统计.在本文中将大略讲解如果进行这些数据统计. 一:连接TFS服务器,并且得到之后需要使用到的类方法. /// < ...

  2. TFS二次开发系列:三、TFS二次开发的第一个实例

    首先我们需要认识TFS二次开发的两大获取服务对象的类. 他们分别为TfsConfigurationServer和TfsTeamProjectCollection,他们的不同点在于可以获取不同的TFS ...

  3. TFS二次开发系列索引

    TFS二次开发11——标签(Label) TFS二次开发10——分组(Group)和成员(Member) TFS二次开发09——查看文件历史(QueryHistory) TFS二次开发08——分支(B ...

  4. TFS二次开发系列:二、TFS的安装

    本系列的实例将采用TFS 2012+Sql Server2012编写. TFS的完整版本安装最好是在Windows server2008 64位以上版本中,其包括64位的SQL SERVER 2012 ...

  5. TFS二次开发系列:四、TFS二次开发WorkItem添加和修改、保存

    WorkItemStore:表示跟踪与运行 Team Foundation Server的服务器的工作项客户端连接. A.添加工作项 1.首先获得某服务器的WorkItemStore. WorkIte ...

  6. TFS二次开发系列:一、TFS体系结构和概念

    TFS是Team Fundation Server的简称,是微软VSTS的一部分,它是Microsoft应用程序生命周期管理(ALM)工具的核心协作平台,简单的说它是管理和开发软件项目的整个生命周期的 ...

  7. TFS二次开发系列:六、TFS的版本控制

    在TFS中对于版本控制是在WorkSpace工作区来控制的. 首先我们先整理WorkSpace的一些基本使用方法. CheckIn:迁入挂起的操作 CreateMapping:创建一个本地映射地址 D ...

  8. TFS二次开发系列:八、TFS二次开发的数据统计以PBI、Bug、Sprint等为例(二)

    上一篇文章我们编写了此例的DTO层,本文将数据访问层封装为逻辑层,提供给界面使用. 1.获取TFS Dto实例,并且可以获取项目集合,以及单独获取某个项目实体 public static TFSSer ...

  9. TFS二次开发、C#知识点、SQL知识总结目录

    TFS二次开发系列 TFS二次开发系列:一.TFS体系结构和概念 TFS二次开发系列:二.TFS的安装 TFS二次开发系列:三.TFS二次开发的第一个实例 TFS二次开发系列:四.TFS二次开发Wor ...

随机推荐

  1. SharpPcap网络包捕获框架的使用--实例代码在vs2005调试通过

    转自:http://hi.baidu.com/boyxgb/blog/item/89ac86fbdff5f82c4e4aea2e.html 由于项目的需要,要从终端与服务器的通讯数据中获取终端硬件状态 ...

  2. CSS继承的特殊性

    p{color:red;} .first{color:green;} <p class="first">三年级时,我还是一个<span>胆小如鼠</s ...

  3. Ubuntu 14 設定 遠端連線,讓別台電腦可以連線進來

    Ubuntu 14 需 disable 加密,方可 遠端連線 此台電腦 xxx@xxx-ThinkPad-T460p:~$ gsettings set org.gnome.Vino require-e ...

  4. 从A文件拿B文件的某一个值

  5. js-JavaScript高级程序设计学习笔记20

    第二十三章 离线应用与客户端存储 1.离线检测 HTML5定义navigator.onLine属性.还定义了两个事件,online和offline,当网络从离线变为在线或从在线变为离线时在window ...

  6. COGS396. [网络流24题]魔术球问题(简化版

    问题描述: 假设有n根柱子,现要按下述规则在这n根柱子中依次放入编号为 1,2,3,4......的球. (1)每次只能在某根柱子的最上面放球. (2)在同一根柱子中,任何2个相邻球的编号之和为完全平 ...

  7. Android Studio NDK初探

    Android Studio中实现NDK开发较之前Eclipse+Cygwin,方便了很多. 本文以最简单的从C程序中获取字符串,并显示到MainActivity的TextView上为例进行NDK开发 ...

  8. Caused by: java.sql.BatchUpdateException: Transaction error, need to rollback. errno:1205 Lock wait timeout exceeded; try restarting transaction

    更新的时候报 Caused by: java.sql.BatchUpdateException: Transaction error, need to rollback. errno:1205 Loc ...

  9. 【CityHunter】游戏流程设计及技术要点

    目前CityHunter的核心玩法和主要的技术实现点已经全部到位,但是本人并未真正设计过整个游戏系统,所以只能循规蹈矩的先从最基本的流程图开始规划. 以上的流程是打开游戏直到控制台,接下来,是从控制台 ...

  10. javascript读取xml文件

    什么是 XML? XML 指可扩展标记语言(EXtensible Markup Language) XML 是一种标记语言,很类似 HTML XML 的设计宗旨是传输数据,而非显示数据 XML 标签没 ...