Fluente NHibernate HasManyToMany () Problema di salvataggio / aggiornamento
-
07-07-2019 - |
Domanda
Ho il seguente codice, che dovrebbe fornire funzionalità specifiche ma non lo è: S
comunque, ecco il mio problema:
http://img525.imageshack.us/img525/1315/diagramp.png
ecco il codice di mappatura:
public class UsersMap : ClassMap<User>
{
public UsersMap()
{
this.Table("Users");
Id(x => x.UserName).GeneratedBy.Assigned();
Map(x => x.FirstName);
Map(x => x.LastName);
Map(x => x.Password);
Map(x =>x.EMail);
Map(x => x.Title);
Map(x => x.Division);
Map(x => x.Status);
HasManyToMany(x => x.Roles)
.Table("UserInRoles").ParentKeyColumn("Username")
.ChildKeyColumn("RoleId").AsBag().Inverse();
}
}
public class RolesMap : ClassMap<Role>
{
public RolesMap()
{
this.Table("Roles");
Id(x => x.ID).GeneratedBy.Assigned();
Map(x => x.RoleName);
HasManyToMany(x => x.Users)
.Table("UserInRoles").ParentKeyColumn("RoleId")
.ChildKeyColumn("Username").AsBag().Cascade.All();
}
}
il mio problema è quando si tenta di (assegnare un ruolo a un utente specifico) il Nome utente viene aggiunto alla tabella UserInRoles ma l'ID ruolo se è già esistente verrà rimosso dalla riga corrispondente e assegnato alla nuova riga, qualsiasi idea ?
Soluzione
Hai cercato di far ManyToMany funzionare per convenzione ?
L'esempio collegato in realtà si riferisce ai ruoli e praticamente a ciò che stai cercando di fare qui.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow