9
SPFileVersionCollection和SPListItemVersionCollection版本控制似乎與我不一致。不一致對我來說不是問題,但排序順序是。SPFileVersionCollection - 爲什麼版本按混合順序排序?
SPListItemVersionCollection
我能理解listItems中的版本,因爲它們是存儲在降序排列:
SPContext.Current.ListItem.Versions.Count -> 5
SPContext.Current.ListItem.Versions[0].VersionId -> 1026 (2.2 latest version)
SPContext.Current.ListItem.Versions[1].VersionId -> 1025 (2.1)
SPContext.Current.ListItem.Versions[2].VersionId -> 1024 (2.0)
... [4].VersionId -> (oldest version)
SPFileVersionCollection
但是我不明白的版本號是如何保存的文檔庫item:
SPContext.Current.ListItem.File.Versions.Count -> 4
SPContext.Current.ListItem.File.Versions[0].ID -> 512 (1.0 oldest one)
SPContext.Current.ListItem.File.Versions[1].ID -> 513 (1.1)
SPContext.Current.ListItem.File.Versions[2].ID -> 1025 (2.1 latest version)
SPContext.Current.ListItem.File.Versions[3].ID -> 1024 (2.0 (EDIT: IsCurrentVersion = True))
他們既不是升序,也不是降序,而是混合。
是否有任何理由 SharePoint團隊決定存儲這樣的SPFile版本?他們是否期望我編寫自己的方法來獲取最新版本,或者是否有內置版本?
注意:讓我指出SPListItem.File文檔庫項目不爲空。
你最後的兩點似乎與我矛盾 - 如果'Count'爲0,直到一個被髮布,它們如何被添加到'SPFileVersionCollection'? – Nacht 2013-07-24 00:05:20
@Nacht感謝您的評論。很長一段時間,因爲這已經過測試,懶得去SharePoint確保,但[這個答案](http://social.msdn.microsoft.com/Forums/sharepoint/en-US/24486a73-bfe0-4ed9- bf6f-32b416cbaf16 /什麼是關係之間的spfileversions和splistitemversions)可以說明一點:「'SPListItem.Versions.Count'總是比'SPFile.Versions.Count'多1,原因是' SPFile'認爲最新版本是當前版本,因此不包括在它的版本集合中「 – 2013-07-25 07:26:10