0

新しいモジュールを開発しました。以下のハンドラーのコードを追加し、ダッシュボードで新しい contentType から 1 つのコンテンツを作成してフォームを送信すると、エラーが発生します。ハンドラーを削除するか、エラーは修正されたが、データベースに保存されたデータの一部が保存されていないことをコメントします。

確認したところ、移行は正常に実行され、テーブルは正常に作成されました。ここに私のモデル、記録、部品コードがあります。ありがとう...

// 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));
        }
    }
}

エラー:

Orchard.ContentManagement.Records.ContentItemRecord エントリの null id (例外が発生した後にセッションをフラッシュしないでください)

私を導いてください。下手な英語ですみません。ありがとう...

4

0 に答える 0