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