NHでオブジェクトグラフを永続化するのに問題があります。
私は(のような)これを持っています:
/*Tables*/
TABLE Parent
ParentID PK
LastEventID NULL
TABLE Event
EventID PK
ParentID FK NOT NULL
//Model Classes
public class Parent
{
public List<Event> Events; //Inverse
//Denormalized bit
public Event LastEvent; //not inverse
}
public class Event
{
public Parent Parent; //Makes the association up there Inverse
}
新しい親を作成し、新しいイベントを作成し、新しいイベントをParent.Eventsに追加し、Parent.LastEventを新しいイベントに設定しています。
NHに親を保存するように指示すると、最初に保存する必要がある一時オブジェクトに関するエラーが発生します。親とイベントの関係が明確でないためだと思います。
SQLが実行する必要がある方法は、nullのLastEventを使用してParentを挿入し、次にEventを挿入してから、Parent.LastEventを更新することです。
では、どうすればNHにこれを実行させることができますか?