私は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を挿入する必要があります