0
我不得不实体:NHibernate的与瀑布很多,一对多的关系
public class User
{
public virtual long Id { get; set; }
public virtual long Name { get; set; }
}
public class Group
{
public virtual long Id { get; set; }
public virtual long Name { get; set; }
}
映射如下:
public class UserMapping : ClassMapping<User>
{
public UserMapping()
{
Table("User");
Id(e => e.Id, t => t.Generator(new IdentityGeneratorDef()));
Property(e => e.Name, map => map.Length(50));
}
}
public class GroupMapping : ClassMapping<Group>
{
public GroupMapping()
{
Table("Group");
Id(e => e.Id, t => t.Generator(new IdentityGeneratorDef()));
Property(e => e.Name, map => map.Length(50));
Set(x => x.Users, set =>
{
set.Table("UserToGroup");
set.Key(key => key.Column("GroupId");
},
re => re.ManyToMany(m => m.Column("UserId")));
}
}
当我删除用户的条目,从表UserToGroup应该被删除的所有条目这位用户提到。当我删除组条目时,从表UserToGroup应该删除与此组提及的所有条目;
正是我需要重写我的映射?
>要从你需要编写额外的代码逆侧删除对象。 附加装置更上侧的用户映射? – 2012-02-06 08:01:01
我更新了我的答案。 – hival 2012-02-06 10:07:50