Tfs 工作项迭代ID字段来自何处?

Tfs 工作项迭代ID字段来自何处?,tfs,tfs-sdk,Tfs,Tfs Sdk,在tfs数据库中tfs\u DefaultCollection 几乎没有钥匙。(可能没有,因为我还没有彻底搜索过) 我可以看到我所有的工作项,以及当前/以前的状态。但是,当我将WorkItemAre加入到Tbl\u迭代中时,所有迭代ID都不匹配。如何按迭代名称/标题查看工作项 我的搜索代码如下: this.Tbl_TeamConfigurationIterations.Dump(); this.Tbl_Iterations.Dump(); var myPersonId=

在tfs数据库中
tfs\u DefaultCollection

几乎没有钥匙。(可能没有,因为我还没有彻底搜索过)

我可以看到我所有的工作项,以及当前/以前的状态。但是,当我将
WorkItemAre
加入到
Tbl\u迭代中时,所有迭代ID都不匹配。如何按迭代名称/标题查看工作项

我的搜索代码如下:

    this.Tbl_TeamConfigurationIterations.Dump();
    this.Tbl_Iterations.Dump();
    var myPersonId= foo; // omitted from sample
    var qIteration = from wia in WorkItemsAres.Where(x=>x.AssignedTo==myPersonId && x.State!="Closed" && x.State!="Resolved")
                    join iLeft in Tbl_Iterations on wia.IterationID equals iLeft.SequenceId into iL
                    from iteration in iL.DefaultIfEmpty()
                    select new {iteration.Iteration,wia};
    qIteration.Dump();//.Select(x=>new{x.AreaID,x.IterationID, x.Title,x.WorkItemType}).Dump();

对于那些对解决方案感兴趣的人(直接db和tfs api dll调用):


Microsoft强烈建议不要直接使用事务数据库(事实上,它会使您处于不受支持的状态)。如果要查询TFS数据,建议使用API和客户端对象模型(SDK)进行查询。支持与TFS交互的API非常丰富

请参见此处的文档:

下面是我们(ALM MVP)试图更好地理解微软在这方面立场的私人邮件列表:

以编程方式或手动方式读取[TFS]数据库可能会导致Microsoft SQL Server内部出现意外锁定,从而对性能产生不利影响。任何针对[TFS]数据库的读取操作,如果源于Microsoft[TFS]开发团队或Microsoft[TFS]支持部门未提供的查询、脚本、.dll文件(等),并且这些操作被确定为Microsoft支持服务解决方案的障碍,则将被视为不受支持


如果不支持的读取操作被确定为解决支持参与的障碍,则数据库将被视为处于不支持状态。要将数据库返回到受支持的状态,必须停止所有不受支持的读取活动。

Microsoft强烈建议不要直接使用事务性数据库(事实上,它会使您处于不受支持的状态)。如果要查询TFS数据,建议使用API和客户端对象模型(SDK)进行查询。支持与TFS交互的API非常丰富

请参见此处的文档:

下面是我们(ALM MVP)试图更好地理解微软在这方面立场的私人邮件列表:

以编程方式或手动方式读取[TFS]数据库可能会导致Microsoft SQL Server内部出现意外锁定,从而对性能产生不利影响。任何针对[TFS]数据库的读取操作,如果源于Microsoft[TFS]开发团队或Microsoft[TFS]支持部门未提供的查询、脚本、.dll文件(等),并且这些操作被确定为Microsoft支持服务解决方案的障碍,则将被视为不受支持

如果不支持的读取操作被确定为解决支持参与的障碍,则数据库将被视为处于不支持状态。要将数据库返回到受支持的状态,所有不受支持的读取活动必须停止。

@Maslow, 您可以使用
xxTree
表来获取迭代名称(在
IterationID=xxTree.Id
上使用
WorkItemsAre
表连接),但您应该知道这是一种未记录且不受支持的方式。我强烈建议使用TFS对象模型来做这些事情。

@Maslow,
您可以使用
xxTree
表来获取迭代名称(在
IterationID=xxTree.Id
上使用
WorkItemsAre
表连接),但您应该知道这是一种未记录且不受支持的方式。我强烈建议使用TFS对象模型来执行这些操作。

如果您不接触数据,只从数据中读取数据,它是否会进入不受支持的状态?这是可能的,因为您的查询可能没有得到很好的优化,并且可能会导致减速、死锁或其他问题。无论如何,最好使用API(如果必须使用SQL,则从仓库数据库中读取)。如果不接触数据,仅从数据中读取,是否会进入不受支持的状态?这是可能的,因为您的查询可能没有得到很好的优化,并且可能会导致减速、死锁或其他问题。无论如何,最好使用API(如果必须使用SQL,请从仓库数据库中读取)。使用指向用法的链接更新问题,最后转换为使用API而不是DB查询。使用指向用法的链接更新问题,最后转换为使用API而不是DB查询。