TFS SDK中的GetItems和GetExtendedItems有什么区别

时间:2018-11-07 18:18:38

标签: tfs tfs-sdk

我初次尝试使用TFS SDK(Microsoft.TeamFoundation.VersionControl.Client),并且何时需要检索对象,我对为什么和何时使用VersionControlServer.GetItemsVersionControlServer.GetExtendedItems感到困惑。有什么区别?性能?功能?

谢谢! :)

1 个答案:

答案 0 :(得分:0)

是的,您需要在性能和功能之间进行权衡。您可以想象GetItems是一个简单的查询,而GetExtendedItems是另一个表(或多个表)上的联接,效率较低。

例如,Item包含有关特定版本项目的信息。 ExtendedItem会添加有关该文件的您的版本的信息,因为该文件存在于查询中您指定的工作空间中。如果您在该文件上完成了Get,则将使用本地磁盘上存在的版本以及您对它所做的所有未决更改填充字段。

ExtendedItemsSource Control Explorer视图中主要存在;它可以在单个查询中显示有关服务器上的项目以及它们在本地存储库中的状态的信息。这样可以减少视图产生的往返次数,但是ExtendedItem的查询 比简单的Item的查询要昂贵。

如果GetItems将为您提供所需的数据,则您最好选择该数据。如果没有,请使用GetExtendedItems