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

What is the difference between GetItems and GetExtendedItems in TFS SDK

我第一次尝试使用 TFS SDK (Microsoft.TeamFoundation.VersionControl.Client),当需要检索对象时,我对为什么以及何时应该使用 VersionControlServer.GetItems 与 [=12] 感到困惑=].有什么区别?表现?特点?

谢谢! :)

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

例如,Item 包含有关特定版本的项目的信息。 ExtendedItem 添加有关 您的 文件版本的信息,因为它存在于您在查询中指定的工作区中。如果您对该文件执行了 Get,则字段将填充本地磁盘上存在的版本以及您对其所做的任何待定更改。

ExtendedItems 主要存在于 Source Control Explorer 视图;它可以在单个查询中显示有关服务器上的项目 它们在本地存储库中的状态的信息。这减少了视图进行的往返次数,但是 ExtendedItems 查询 比简单 Items 的查询更昂贵。

如果 GetItems 会为您提供所需的数据,您应该更喜欢它。如果不是,请使用 GetExtendedItems.