1

我需要获取 Sitecore 中所有孤立项目的列表。我不知道该怎么做。我最初的想法是从根开始并获取所有后代,然后检查每个项目是否 item.Parent 为空,但如果一个项目是孤儿,我不确定它是否会出现在列表中子孙?有谁知道如何在 Sitecore 中寻找孤儿?

4

1 回答 1

1

您无法使用 Sitecore Api 获取孤立项目。

您需要直接在数据库上使用 sql 查询。

Sitecore 已经有一个CleanupOrphansCleanup Database任务中调用的方法。它使用以下查询从数据库中删除孤立项:

string text = " SELECT ID FROM Items i1 WHERE i1.ParentID <> null AND NOT EXISTS(SELECT ID FROM Items i2 WHERE i2.ID = i1.ParentID)";
string sql = " DELETE FROM Items WHERE ID IN (" + text + ")";
于 2017-10-10T18:50:17.583 回答