2012-07-03 33 views
1

我已经在模块中编写了下面的简单命令。常见问题解答类型有一个单个字段的自定义部分和一个BodyPart。运行_cm.Create(item)后,该项目分配了一个Id,但我无法在数据库中找到它的任何跟踪,并且它不会显示在Orchard的内容选项卡中。为什么该项目获得一个Id但在数据库中找不到?它是否需要驱动程序,视图和位置信息才能显示在内容选项卡中?从命令创建Orchard ContentItem以编程方式

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 FaqHandler(IRepository<FaqPartRecord> repository) 
{ 
    Filters.Add(StorageFilter.For(repository)); 
} 
+0

请提供处理程序的完整代码。 –

+1

修改了包含整个处理程序的问题 –

回答

0

原来我喜欢的类型没有附加CommonPart。在我附加一个并设置零件的所有者属性后,我可以保存它。

+2

您应该发布更新的代码。 –