Orchardcms 添加处理程序时出错

Orchardcms 添加处理程序时出错,orchardcms,orchardcms-1.6,orchardcms-1.7,Orchardcms,Orchardcms 1.6,Orchardcms 1.7,我开发了一个新模块,当我为处理程序添加下面的代码,并希望从仪表板和提交表单中的新contentType创建一个内容时,我得到了一个错误。当我删除处理程序或注释时,表示错误已修复,但数据库中未保存任何数据部分 我检查了,迁移运行正常,表创建成功。这是我的型号、记录和零件代码。谢谢 // MyModulePart.cs using System; using Orchard.ContentManagement; namespace www.MyModule.com.Models { pub

我开发了一个新模块,当我为处理程序添加下面的代码,并希望从仪表板和提交表单中的新contentType创建一个内容时,我得到了一个错误。当我删除处理程序或注释时,表示错误已修复,但数据库中未保存任何数据部分

我检查了,迁移运行正常,表创建成功。这是我的型号、记录和零件代码。谢谢

// MyModulePart.cs
using System;
using Orchard.ContentManagement;

namespace www.MyModule.com.Models {
    public class MyModule : ContentPart<MyModuleRecord> {
        public string Name { get { return Record.Name; } set { Record.Name = value; } }
        public string ImdbRate { get { return Record.ImdbRate; } set { Record.ImdbRate = value; } } 
    }
}

// MyModulePartRecord.cs
using System;
using Orchard.ContentManagement.Records;

namespace www.MyModule.com.Models
{
    public class MyModulePartRecord : ContentPartRecord
    {
        public virtual string Name { get; set; }
        public virtual string ImdbRate { get; set; }
    }
}

// Migration Code
SchemaBuilder.CreateTable("MyModulePartRecord", table => table
                                        .ContentPartRecord()
                                        .Column<string>("Name")
                                        .Column<string>("ImdbRate"));

// Handler Code
using Orchard.ContentManagement.Handlers;
using Orchard.Data;
using www.MyModule.com.Models;

namespace www.MyModule.com.Handlers {
    public class MyModuleHandler : ContentHandler
    {
        public MyModuleHandler(IRepository<MyModulePartRecord> MyModulePartRepository)
        {
            Filters.Add(StorageFilter.For(MyModulePartRepository));
        }
    }
}
//MyModulePart.cs
使用制度;
采用果园管理;
命名空间www.MyModule.com.Models{
公共类MyModule:ContentPart{
公共字符串名称{get{return Record.Name;}set{Record.Name=value;}}
公共字符串ImdbRate{get{return Record.ImdbRate;}set{Record.ImdbRate=value;}
}
}
//MyModulePartRecord.cs
使用制度;
使用Orchard.ContentManagement.Records;
命名空间www.MyModule.com.Models
{
公共类MyModulePartRecord:ContentPartRecord
{
公共虚拟字符串名称{get;set;}
公共虚拟字符串ImdbRate{get;set;}
}
}
//迁移代码
CreateTable(“MyModulePartRecord”,table=>table
.ContentPartRecord()
.栏(“名称”)
。栏(“ImdbRate”);
//处理程序代码
使用Orchard.ContentManagement.Handlers;
使用果园数据;
使用www.MyModule.com.Models;
命名空间www.MyModule.com.Handlers{
公共类MyModuleHandler:ContentHandler
{
公共MyModuleHandler(IRepository MyModulePartRepository)
{
添加(StorageFilter.For(MyModulePartRepository));
}
}
}
错误:

Orchard.ContentManagement.Records.ContentItemRecord条目中的id为空 (发生异常后不要刷新会话)

请引导我。 请原谅我英语不好。
谢谢…

我认为异常应该在其内部异常中包含更多信息。你的零件记录看起来怎么样?顺便说一句,记录属性应该在PascalCase中命名。我编辑文章并添加模型、记录和零件代码。内部异常是什么?
// MyModulePart.cs
using System;
using Orchard.ContentManagement;

namespace www.MyModule.com.Models {
    public class MyModule : ContentPart<MyModuleRecord> {
        public string Name { get { return Record.Name; } set { Record.Name = value; } }
        public string ImdbRate { get { return Record.ImdbRate; } set { Record.ImdbRate = value; } } 
    }
}

// MyModulePartRecord.cs
using System;
using Orchard.ContentManagement.Records;

namespace www.MyModule.com.Models
{
    public class MyModulePartRecord : ContentPartRecord
    {
        public virtual string Name { get; set; }
        public virtual string ImdbRate { get; set; }
    }
}

// Migration Code
SchemaBuilder.CreateTable("MyModulePartRecord", table => table
                                        .ContentPartRecord()
                                        .Column<string>("Name")
                                        .Column<string>("ImdbRate"));

// Handler Code
using Orchard.ContentManagement.Handlers;
using Orchard.Data;
using www.MyModule.com.Models;

namespace www.MyModule.com.Handlers {
    public class MyModuleHandler : ContentHandler
    {
        public MyModuleHandler(IRepository<MyModulePartRecord> MyModulePartRepository)
        {
            Filters.Add(StorageFilter.For(MyModulePartRepository));
        }
    }
}