zoukankan      html  css  js  c++  java
  • TFS二次开发系列:五、工作项查询

    TFS二次开发系列:五、工作项查询

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

      使用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(50, 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(50, false);
                WorkItemCollection result = query.EndQuery(callback);
                foreach (WorkItem item in result)
                {
                    Console.WriteLine(" 工作项名称:" + item.Title + " 工作项描述:" + item.Description);
                }
    
                Console.ReadLine();
    复制代码

      

  • 相关阅读:
    一起做一款开源软件吧--开源软件诞生1
    牛客-紫魔法师(仙人掌染色-判奇环)
    牛客编程巅峰赛S1第12场 王者C-椭圆曲线(快速乘的运用)
    牛客编程巅峰赛S1第12场 王者B-上上下下(DP)
    牛客编程巅峰赛S1第12场 王者A-锻炼身体(树上追击问题)
    CSUSTOJ 1127-区间方差(线段树)
    Codeforces 1398C- Good Subarrays(区间值为0的个数变形-思维)
    CSUSTOJ 4000-你真的会数据结构吗?(状压+素数分解)
    牛客练习赛67 F-牛妹的苹果树(树上最远点对/区间带权直径-线段树+LCA)
    牛客练习赛67 E-牛妹游历城市(拆位最短路)
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/3253464.html
Copyright © 2011-2022 走看看