我有两个类和集合的映射:
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