Orchardcms 是否基于正在创建的另一个ContentItem创建ContentItem?

Orchardcms 是否基于正在创建的另一个ContentItem创建ContentItem?,orchardcms,Orchardcms,问题是,每次创建ContentItem时,我都想创建它的本地化版本。本地化版本应该与原始版本相同,我将进行一些本地化。因此,基本上,每当我创建指定类型的ContentItem时,我都会复制它并进行本地化更改,将原始ContentItem标记为本地化ContentItem的LocalizationPart.MasterContentItem,然后保留该项 最初,我试图在调用IContentHandler.Created方法时创建origianl项的副本。问题是控制器尚未“尝试更新”项目,因此缺少数

问题是,每次创建ContentItem时,我都想创建它的本地化版本。本地化版本应该与原始版本相同,我将进行一些本地化。因此,基本上,每当我创建指定类型的ContentItem时,我都会复制它并进行本地化更改,将原始ContentItem标记为本地化ContentItem的LocalizationPart.MasterContentItem,然后保留该项

最初,我试图在调用IContentHandler.Created方法时创建origianl项的副本。问题是控制器尚未“尝试更新”项目,因此缺少数据。我似乎没有访问控制器的权限,无法尝试手动更新项目

我也迫不及待地等待控制器TryUpdate()ContentItem,然后通过其他一些IContentHandler方法访问已经更新的项,因为它们在此之前就被调用了

另外,持久化新创建的ContentItem是在WorkContext中完成的最后一件可能的事情,因此在请求线程非常死机之前,我无法查询DB


因此,任何关于如何复制正在创建的ContentItem并将副本作为另一个项目持久化的见解都将非常有用。

我能够通过IContentHandler.Published方法访问更新的ContentItem。这里的不便之处在于,在“发布”ContentItem之前不会调用该方法。不过,在我的场景中,这并不是一个真正的问题,因为我要么不显示它们(原始ContentItem和本地化ContentItem),要么同时显示两者