我初次尝试使用TFS SDK(Microsoft.TeamFoundation.VersionControl.Client
),并且何时需要检索对象,我对为什么和何时使用VersionControlServer.GetItems
与VersionControlServer.GetExtendedItems
感到困惑。有什么区别?性能?功能?
谢谢! :)
答案 0 :(得分:0)
是的,您需要在性能和功能之间进行权衡。您可以想象GetItems
是一个简单的查询,而GetExtendedItems
是另一个表(或多个表)上的联接,效率较低。
例如,Item
包含有关特定版本项目的信息。 ExtendedItem
会添加有关该文件的您的版本的信息,因为该文件存在于查询中您指定的工作空间中。如果您在该文件上完成了Get
,则将使用本地磁盘上存在的版本以及您对它所做的所有未决更改填充字段。
ExtendedItems
在Source Control Explorer视图中主要存在;它可以在单个查询中显示有关服务器上的项目以及它们在本地存储库中的状态的信息。这样可以减少视图产生的往返次数,但是ExtendedItem
的查询 比简单的Item
的查询要昂贵。
如果GetItems
将为您提供所需的数据,则您最好选择该数据。如果没有,请使用GetExtendedItems
。