Question

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 to 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?

Was it helpful?

Solution

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

OTHER TIPS

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

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top