NHibernate Web Application - Gestion des préférences de l'utilisateur
-
20-09-2019 - |
Question
J'ai une application Web avec une couche de données NHibernate Access. J'ai un grand nombre de préférences de l'utilisateur qui peuvent être stockés, ceux-ci sont principalement booléens par exemple une boîte de dialogue que l'inscription a été rejetée et ne doit pas être montré à nouveau.
Le problème est que, avec NHibernate je dois ajouter à mon schéma de base de données, et ajouter une propriété à la classe persistante chaque fois qu'une nouvelle boîte de dialogue est ajouté à enregistrer si elle a été rejetée ou non.
Il doit y avoir un moyen plus facile. Qu'est-ce?
La solution
Une autre option est de lire ce afficher par Ayende, ce qui permet essentiellement de champs dynamiques
Un thème commun dans de nombreuses applications est la nécessité de soutenir personnalisée / dynamique des champs. En d'autres termes, le système administrateur peut décider que le client doit avoir quelques champs supplémentaires qui ne font pas partie de la ligne principale développement.
Lire aussi le dernier commentaire de Ayende
- Vous pouvez mettre une collection dans une propriété dynamique.
- Vous pouvez modifier la configuration programatically
Modifier Pour une raison que je viens de réaliser que j'ai répondu à cette question qui est plus d'un an! Vous avez aucune idée de comment je suis arrivé ici! La réponse est encore une bonne si
Autres conseils
Vous pouvez utiliser une table de paramètres pour enregistrer les préférences et ajouter une valeur pour chaque boîte de dialogue:
Tableau Réglages Id, UserId, DialogName, valeur
1, 1, FirstDialog, True
2, 1, SecondDialog, False
3, 2, FirstDialog, Faux
4, 2, SecondDialog, Faux