Tfs 工作项迭代ID字段来自何处?
在tfs数据库中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\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查询。