Hi all,
I did some progress in reverse engineering database to hbm files. That
projects exists in the hbm2net solution under NHContrib. I will look
for a better place if pepole will find this useful. I just would like
to describe how the project status is until now.
There is no UI nor console application: just the core dll
NHibernate.Tool.Db2hbm. Test for that are located in the
NHibernate.Tool.hbm2net.Tests-2.0 test dll. I know it is not the right
place, but this stuff started as an experiment.
Anyway, the testing process I used ( it is actually more an
integration test suite ) is the following:

foreach reverse engineering scenario we:
-Starts from an Hbm describing the target mapping scenario
-Generate the classes using hbm2net http://nhforge.org/media/p/546.aspx
-Build the assembly
-lets NHibernate creating a DB:this is the db we will use to reverse
engineering
-lets the tool generate the hbm(s)
-use XmlUnit to compare the results with the starting hbm.

As you guess some of these pass are not pure "in memory", and the
database used for the test is SQL Express, so test are not immediate,
but ie 11 tests run in about 10 seconds.
The tool now understands key,properties, many-to-one, set ( of entity
or of components ), map, many-to-many using bag or idbag, and it seems
to deal well with comoposite keys too.

Unfortunately real test using ie AdventureWorks, still fail, but this
is going to change soon. I'm looking for some help because I would
like to create a foreign key discovering mechanism for each major DB
( the one provided with ado.net is just not enought ) to make the tool
useful. If interested look in the db2hbm code and see the
IForeignKeyCrawler implementation for MSSQL.
I'm interested in any other comments too.
Thanks,
Felice Pollano

-- 
You received this message because you are subscribed to the Google Groups 
"NHibernate Contrib - Development Group" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/nhcdevs?hl=en.

Reply via email to