Orchardcms 从命令以编程方式创建Orchard ContentItem

Orchardcms 从命令以编程方式创建Orchard ContentItem,orchardcms,Orchardcms,我在模块中编写了以下简单命令。Faq类型有一个带有单个字段的自定义零件和一个BodyPart。运行_cm.Create(item)后,该项分配了一个Id,但我在数据库中找不到它的任何痕迹,它也不会出现在Orchard的“内容”选项卡中。为什么该项获得Id但在数据库中找不到?在它出现在“内容”选项卡中之前,是否需要驱动程序、视图和位置信息 public class ApiCommands : DefaultOrchardCommandHandler { private readonly I

我在模块中编写了以下简单命令。Faq类型有一个带有单个字段的自定义零件和一个BodyPart。运行_cm.Create(item)后,该项分配了一个Id,但我在数据库中找不到它的任何痕迹,它也不会出现在Orchard的“内容”选项卡中。为什么该项获得Id但在数据库中找不到?在它出现在“内容”选项卡中之前,是否需要驱动程序、视图和位置信息

public class ApiCommands : DefaultOrchardCommandHandler
{
    private readonly IContentManager _cm;

    public ApiCommands(IContentManager cm)
    {
        _cm = cm;
    }

    [CommandName("api seed")]
    public void Seed()
    {
        var item = _cm.New("Faq");
        item.As<FaqPart>().Question = "Why is the sky blue?";
        item.As<BodyPart>().Text = "Shut up and do your homework.";

        _cm.Create(item);
    }
}
public类ApiCommands:DefaultOrchardCommandHandler
{
私有只读IContentManager _cm;
公共ApiCommands(IContentManager cm)
{
_厘米=厘米;
}
[命令名(“api种子”)]
公开无效种子()
{
风险值项目=_cm.新增(“常见问题”);
item.As().Question=“为什么天空是蓝色的?”;
item.As().Text=“闭嘴做作业。”;
_cm.创建(项目);
}
}
我的自定义部件没有驱动程序这是处理程序:

public FaqHandler(IRepository<FaqPartRecord> repository)
{
    Filters.Add(StorageFilter.For(repository));
}
公共FAQ处理程序(IRepository存储库) { Filters.Add(StorageFilter.For(repository)); }
原来我的类型没有附加公共部分。在附加一个并设置部件的Owner属性后,我可以保存它。

请提供处理程序的完整代码。修改问题以包含整个处理程序