NHibernate Web Application - Managing User Preferences
I've got a web application with an NHibernate Data Access Layer. I have a large number of user preferences that can be stored, these are mainly booleans for example registering that a dialog has been dismissed and should not be showed again.
The problem is that with NHibernate I need t开发者_Go百科o add to my database schema, and add a property to the persistent class every time a new dialog is added to register if it has been dismissed or not.
There must be an easier way. What is it?
You could use a settings table to store the preferences and add a value for every dialog:
Table Settings Id, UserId, DialogName, Value
1, 1, FirstDialog, True
2, 1, SecondDialog, False
3, 2, FirstDialog, False
4, 2, SecondDialog, False
Another option is to read this post by Ayende, basically allowing for dynamic fields
A common theme in many application is the need to support custom / dynamic fields. In other words, the system admin may decide that the Customer needs to have a few additional fields that aren’t part of the mainline development.
Also read Ayende's last comment
- You can put a collection in a dynamic property.
- You can edit the configuration programatically
Edit For some reason I have just realised that I have answered this question that is over one year old! Got no idea how I got here! Answer is still a good one though
精彩评论