コレクションには 2 つのクラスとマッピングがあります。
class User
{
Guid ID;
string Name;
}
class Group
{
Guid ID;
string Name;
IList<User> Members;
}
// GroupMap
HasMany(x=>x.Members).Inverse().Cascade.AllDeleteOrhpan().etc.
これは機能します。ユーザーをメンバー コレクションに追加すると、NHibernate は操作をカスケードします。削除と更新についても同様です。
ここで、モデルを少し変更したいと思います。これにより、マッピングも変更されます。コレクションは IList <Guid
> です。私が本当に望んでいるのは、カスケードが残っていることです。つまり、カスタムの永続化または IUserType を実行する必要があります。マッピングは、HasMany(x=>x.Members) のようなオブジェクト タイプを伝える必要があり、コレクションは ID を保持します。
class User
{
Guid ID;
string Name;
}
class Group
{
Guid ID;
string Name;
IList<Guid> Members;
}
// GroupMap
HasMany<User>(x=>x.Members).Inverse().Cascade.AllDeleteOrhpan().etc.
どこから始めればいいですか?すぐに使えるソリューションはないと思いますが、誰が知っていますか...
PS: NHib ユーザー グループ: https://groups.google.com/forum/#!topic/nhusers/pSUOaGxdxVM