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