果园内容不在数据库中存储信息的部件

时间:2015-04-03 23:20:57

标签: orchardcms

我正在尝试在Orchard中创建一个内容部分,它将对Web服务器执行请求并显示请求的结果。我遇到的问题是我的部分不需要用户输入,因此我将部分和部分记录类留空。我有一个Migrations.cs文件,它为部件添加了一个描述并使其可连接,并创建了一个附加了部件的内容项。当我去创建我的内容类型的新实例时,它会尝试写入数据库并失败。如何在果园中创建不尝试保存到数据库的内容部分?谢谢。

我收到的实际错误是: Orchard.ContentManagement.Records.ContentTypeRecord

中的null id

2 个答案:

答案 0 :(得分:4)

我很确定你不需要创建新表,因为Orchard中有许多部分没有。尝试删除 MyCustomPartRecord.cs 并更改 MyCustomPart.cs

public class MyCustomPart : ContentPart<MyCustomPartRecord>

public class MyCustomPart : ContentPart

然后只需添加驱动程序和视图,你应该没有额外的表格......理论上:D

答案 1 :(得分:0)

我的问题的答案是,即使你的部分实际上没有在数据库中保存任何内容,你仍然需要为部件包含一个表,以便它可以存储id。我刚刚将以下内容添加到我的Migrations.cs文件中,它修复了问题。

SchemaBuilder.CreateTable("MyCustomPartRecord",
    table => table
        .ContentPartRecord()
);