2

私はSQLで3つのテーブルを持っています...次のようになります

これは、次のドメイン オブジェクトにマップされます。

    public abstract class Case
    {
        public virtual DateTime Imported { get; set; }
        public virtual int Id { get; set; }

    }

    public class Meeting
    {
        public virtual int Id { get; set; }
        public virtual string Employee { get; set; }
        public virtual string LineManager { get; set; }
        public virtual Case Case { get; set; }

    }
    public class SCase : Case
    {
        public virtual int Id { get; set; }
        public virtual string reason { get; set; }
        public virtual IList<Meeting> Meeting { get; set; } 

    }

This works fine when I query it using the following fluent configuration

   public class PMap : ClassMap<Case>
    {
        public PMap()
        {

            Id(x => x.Id).GeneratedBy.Assigned();

        }
    }

    public class ParentMap : ClassMap<SCase>
    {
        public ParentMap()
        {

            Id(x => x.Id);
            Map(x => x.reason);
            //Map(x => x.Imported);
            Join("[Case]", m =>
                {
                    m.Fetch.Join();
                    m.KeyColumn("Id");
            });


        }
    }

しかし、なぜそれが保存されないのか理解できません! 確かに、物を読み取ってマッピングする方法を知っているなら、それを保存できるはずですか??

次のエラーが表示されます。

{"列 'CaseId'、テーブル 'Scratchpad.dbo.SCase' に値 NULL を挿入できません。列は NULL を許可しません。INSERT は失敗します。\r\nステートメントは終了しました。"}

なぜ挿入しようとしているのCaseIDですか?確かに結合なので、SCase??からIDを挿入する必要があります

4

0 に答える 0