Hello guys!
I have a few ideas about the extending existing functionality of NHibernate. And would like to discuss them with you. This thread is primary targeted to people how knows the internals of NH.
Ideas are as folows (they were earlier published here:
http://nhibernate.sourceforge.net/forum ... ht=dynamic):
- make NH dynamic (1)
- add to NH classes versions support (2)
idea (1) addresses the feature to change the structure of data model dynamically without recompile source code.
idea (2) could allow keep data when the structure of classes changes
I think that (1) could be done by killing the relation NH class <-> C# class. Instead of using static c# classes it is possible to use dynamic objects with collection of properties, for example:
DynObject manager = new DynObject("Manager");
manager["Name"] = "John"
instead of:
Manager manager = new Manager();
manager.Name = "John";
What do you think: is it possible to port NH in this direction, does NH retrieve a lot of information about classes from reflection? Is it a big work?
instead of dynamic type names of classes could be used.
"Manager" instead of typeof(Manager)
(2) Issue.
NH could have versioning of structure feature.
Dont' have any ideas how. I think additional tables with version labels
could be added to the relation scheme.
Please feel free to discuss these ideas.
Best regards,
Sergey Gerasimov