I need to add a user defined fields feature to an asp.net c# application that uses NHibernate.
The user must be able to add and remove fields from several objects in the system "on the fly", preferably without any system downtime.
One important constraint is that the database schema can't be changed by the user - that is, I can add whatever fields/tables I need to support this feature but when the user adds or removes a field he can't change the database schema.
EDIT: I also have to sort and filter by the values of the user defined fields.
I know how to do it in c#/SQL with a key/value table, but I don't know how to do it with NHibrenate (including filtering and sorting by the user defined fields)