Sitecore - 获取所有孤立项 C#
Sitecore - get all orphan items C#
我需要获取 Sitecore 中所有孤立项的列表。我不知道该怎么做。我最初的想法是从根开始并获取所有后代,然后检查每个项目以查看它 item.Parent 是否为空,但是如果一个项目是孤儿,我不确定它是否会出现在后裔名单?有谁知道如何在 Sitecore 中寻找孤儿?
您无法使用 Sitecore Api 获取孤立项。
您需要直接在数据库上使用sql查询。
Sitecore 已经有一个名为 CleanupOrphans
的方法,它是从 Cleanup 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 + ")";
我需要获取 Sitecore 中所有孤立项的列表。我不知道该怎么做。我最初的想法是从根开始并获取所有后代,然后检查每个项目以查看它 item.Parent 是否为空,但是如果一个项目是孤儿,我不确定它是否会出现在后裔名单?有谁知道如何在 Sitecore 中寻找孤儿?
您无法使用 Sitecore Api 获取孤立项。
您需要直接在数据库上使用sql查询。
Sitecore 已经有一个名为 CleanupOrphans
的方法,它是从 Cleanup 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 + ")";