Fluente NHibernate HasManyToMany () Save atualização Problema /
-
07-07-2019 - |
Pergunta
Eu tenho o seguinte código, que é suposto dar funcionalidade específica mas não é: S
De qualquer forma, aqui está o meu problema:
http://img525.imageshack.us/img525/1315/diagramp.png
aqui está o código de mapeamento:
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();
}
}
meu problema é quando se tenta (atribuir uma função para o usuário específico) o nome de utilizador é adicionado ao UserInRoles mesa, mas o ID da função se ele já está existente será removido de sua linha corrosponding e atribuído à nova linha, qualquer ideia ?
Solução
Você já parecia fazer sua ManyToMany trabalho por convenção ?
exemplo Linked realmente se refere a Roles e muito bonito o que você está tentando fazer aqui.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow