Я должен лиц: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 следует удалить все записи с указанной группой;
Как именно мне нужно переписать мои сопоставления?
> Чтобы удалить объект с обратной стороны, вам необходимо написать дополнительный код. Дополнительные средства больше отображений на стороне пользователя? –
Я обновил свой ответ. – hival