Nibernate Web Application - Gerenciando as preferências do usuário
-
20-09-2019 - |
Pergunta
Eu tenho um aplicativo da Web com uma camada de acesso a dados Nibernate. Eu tenho um grande número de preferências do usuário que podem ser armazenadas, elas são principalmente booleanos, por exemplo, registrando que uma caixa de diálogo foi descartada e não deve ser mostrada novamente.
O problema é que, com o Nibernate, preciso adicionar ao meu esquema de banco de dados e adicionar uma propriedade à classe persistente toda vez que uma nova caixa de diálogo for adicionada para se registrar se tiver sido descartada ou não.
Deve haver uma maneira mais fácil. O que é isso?
Solução
Outra opção é ler isso publicar por Ayende, basicamente permitindo campos dinâmicos
Um tema comum em muitos aplicativos é a necessidade de suportar campos personalizados / dinâmicos. Em outras palavras, o administrador do sistema pode decidir que o cliente precisa ter alguns campos adicionais que não fazem parte do desenvolvimento da linha principal.
Leia também o último comentário de Ayende
- Você pode colocar uma coleção em uma propriedade dinâmica.
- Você pode editar a configuração programaticamente
Editar Por alguma razão, acabei de perceber que respondi a essa pergunta que tem mais de um ano! Não tenho ideia de como cheguei aqui! A resposta ainda é boa embora
Outras dicas
Você pode usar uma tabela de configurações para armazenar as preferências e agregar um valor a cada diálogo:
Tabela Configurações ID, UserID, Dialogname, Valor
1, 1, FirstDialog, verdadeiro
2, 1, SecondDialog, falso
3, 2, FirstDialog, falso
4, 2, SecondDialog, falso