Srs.,
Bom, estou com um caso “complicado” aqui. Cá entre nós, eu não sei se é gosto pessoal mas acho tabelas de relacionamento (usergroup x menu, etc) uma coisa feia.
A minha entidade UserGroup possui relacionamento com mais seis tabelas, que são autorizações diversas do sistema para o usuário. E me incomoda a idéia de ter umas 6 tabelas de relacionamento, many to many.
Assim sendo, eu estava pensando no seguinte:
Criar uma tabela chamada authorization, que vai suportar todas as authorizations do usergroup.
AuthorizationId - PK
Authorization_relationtype = Source da autorizacao (ex: menu, como string)
authorization_sourceid = id do objeto (no caso, o id de um menu)
authorization_destination = Destino da autorizacao (ex: usergroup)
authorization_destinationid = id do destino (no caso, usergroup)
Vantagem: escondo essas tabelas de relacionamento e também posso alimentar com N relacionamentos, já que essa tabela nunca será mto grande.
O que acham?
[]'s
