これは非常に明白な質問のように思えますが、明確な答えを見つけることができませんでした。DefaultCascade.All()規則でFluentNHibernate自動マッピングを使用しています。
エンティティは節約していますが、1対多の関係では、コレクションに追加して節約しているにもかかわらず、多面的に片側を提供する必要があります。例はおそらくこれをよりよく説明するでしょう:
次の2つのクラスがあるとしましょう。
public class Owner
{
public virtual IList<PetDog> Dogs { get; set; }
}
public class PetDog
{
public virtual Owner Owner { get; set; }
}
飼い主の犬のコレクションに新しいPetDogを追加するには、電話をかけることができるはずです。
Owner.Dogs.Add(new PetDog());
ISessionを破棄します。しかし、私は所有者を保存しているだけで、それだけです。明示的に設定した場合
Owner.Dogs.Add(new PetDog { Owner = Owner })
できます。
その値を明示的に提供することを回避する方法はありますか?