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

  使用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. 1125MySQL Sending data导致查询很慢的问题详细分析

    -- 问题1 tablename使用主键索引反而比idx_ref_id慢的原因EXPLAIN SELECT SQL_NO_CACHE COUNT(id) FROM dbname.tbname FORC ...

  2. 为什么print在python3中变成了函数?

    转自:http://www.codingpy.com/article/why-print-became-a-function-in-python-3/ 在Python 2中,print是一个语句(st ...

  3. Git 本地项目上传至托管平台(OsChina/GitHub)

    为了方便自己的代码管理,通常是把自己的写的一些小项目分享到GitHub 或者git.oschina上面! 区别: GitHub 只能创建公开的项目,国外的,速度慢! git.oschina 开源中国的 ...

  4. 自己写一个JS单向数据流动库----one way binding

    JS单向流动其实就是数据到视图的过程, 这几天突发奇想,想着弄一个插件, 把DOM结构使用JS进行描述: 因为DOM中的Class , content, id, attribute, 事件, 子元素全 ...

  5. JQurey

    jQuery 是一个 JavaScript 库.极大地简化了 JavaScript 编程,很容易学习. jQuery 是一个 JavaScript 函数库. jQuery 库包含以下特性: HTML ...

  6. php 读取csv 乱码

    在php手册里面有这样一个例子,为什么读出的是乱码<?php$row = 1;$handle = fopen("test.csv","r");while ...

  7. 项目中CKEditor修改宽度为自适应

    项目中用到CKEditor,在config.js中直接定义config.width使得宽度无法自适应,尝试了好多次后发现了一种方法: 放弃在config.js中配置宽度 在页面检查元素,找到id为ck ...

  8. Alpha阶段第五次Scrum Meeting

    情况简述 Alpha阶段第五次Scrum Meeting 敏捷开发起始时间 2016/10/26 00:00 敏捷开发终止时间 2016/10/27 00:00 会议基本内容摘要 汇报各自完成的任务, ...

  9. Jquery跨域访问java接口

    Jquery前台代码: <script> $.getJSON("http://跨域URL/Example/text.do?jsonpCallback=?", funct ...

  10. 创建线注记LineElement

    1.根据2点创建一条线 /// <summary> /// 创建线 /// </summary> /// <param name="pnt1"> ...