llblgen, ORMapper, nhibernate

R

Rob

We are starting a new fairly big project based on the typical 3-tier
approach (db, business, GUI layer). I have limited experience in that field
but from my experience all the stored procedures, com object, etc is quite
cumbersome and error prone. Therefore, I am currently looking into some OR
Mappers. I did a very simple sample project with Wilson's ORMapper. It seems
to me ORMappers are exactly what I am looking for.

In any case, I have been looking around and think I would like to go either
with llblgen, ORMapper (probably combined with CodeSmith) or nhibernate.org.
Some of the "requirements" I have are:

*It has to work with .NET2.0

*If the tool has a code generator it must be possible to have specialized
sections, i.e. I can re-run the code generator without it overwriting my
specialized sections.

*It must be possible to integrate the build process with the rest of the
project

*Preferably, the classes do not have to inherit from a base class

*Preferably, it will be close to ObjectSpaces (if it ever comes out) so that
a transition is easier to achieve.

*The mapper does not force me to give certain access rights to the class
methods and properties, i.e. if I want come of them private I should be able
to do so.

*Support for joins

*Support for MS SQL

*I don't care if the learning curve is a bit steep as long as there is good
documentation on forums.

So my questions are:

Which of the above tool is most suitable for these requirements?

As mentioned I am relatively new to all this so what else should I be
looking for in an ORMapper?

Best Regards,

Rob
 
A

Arjen de Blok

NHibernate has everything you ask for.
Read the book 'Hibernate in Action' from Manning.
They discuss the Java version, but because the book mostly discuss the
theory about it, it also is a good book for NHibernate.

Best Regards,
Arjen de Blok.
 
G

Guest

Hi Rob,

Personally, in any large scale production system, I would avoid using any
sort of a code generator. I just came off an enterprise level project and I
also looked into all of the ones you suggested.

My biggest problem with most of the commercially available OR mappers is
that they like to mark up your code with attributes which essentially locks
you into their product for the long haul. Having been watching the market,
you usually see that not many of them last for long either which could make
maintenance a bigger pain than it needs to be.

NHibernate: While the Java equivalent is among the best, the .NET one is
barely into its Beta cycle. I think that it will be good once it gets a bit
more steam but I don't think I would rely on it yet.

Llblgen: I downloaded a demo of this product and with all of the markup and
code generation involved, I didn't feel that I was aware totally of what it
was doing for me. I typically avoid code generators though; I prefer to do
it myself. That aside, they definitely offer a wide range of DB support.

ORMapper: I am not sure if you are referring to the Wilson ORMapper one, or
any of the others that go by the same moniker...

I guess if I narrowed it down, just avoid products that avoid code
generators or mark up your code to a great extent. That way, if you ever
need to switch, it shouldn't be too painful. Most people get caught on the
term "OR Mapper" and don't realize that some products generate the data
access tier for your, while others just provide a means to map database
columns to object properties. I believe that the later is the safest route
to go.

Personally, I find SqlMaps from iBATIS the best mapper out there right now
since it is nothing more than creating mapping files that relate DB columns
to object properties. I would suggest that you check it out, download it and
create a couple of spikes to make sure it works with 2.0. The documentation
is finally in a readable state, they are moving towards Apache incubator
status and with it supporting both Java and .NET platforms, there is only
room for growth. Best of all, its effective and free.

Good luck on your project. I hope I didn't muddy the water.

Lance
 
R

Rob

Arjen de Blok,

Thanks for the input. I have been searching for books about Hibernate before
your post. There were two that people were fond of. One of them was
"Hibernate in Action" so now I have ordered it. Hopefully that will give me
some more insight with this program. I have heard very good things about it
but I am hesitating a bit because it's in beta stage and it might not be
very compatible with ObjectSpaces (if it ever comes out...)

Regards,
Rob
 
R

Rob

Lance,

Thanks a lot for your reply. Actually, I tend to avoid products that lock me
in too much. I wish MS did come out with their ObjectSpace. Very
unfortunately as it stands right now it's too far a stretch. Not only is it
delayed so much but its requirements are too much to deploy it anytime soon
after it has been released. On the other hand I do not want to go the 'old'
way because I really think the 'new' way is a much better approach. I was
looking very hard at the (Wilson) ORMapper. What did convience me a lot
about this product is the price, the extremly good support(!!), and the fact
that this mapper is probably one of the closest to ObjectSpaces which would
make a transition relatively painless. Nevertheless, there are a few reasons
why I tend to go the NHibernate way. First of all it is based on the very
successful Hibernate and not just some new project that you don't know how
it's going to turn out. Second it has a quite extensive community
contributing to the product. Also if there is an important issue it's much
easier to convience this community to integrate your new features into the
product then it would be with a commercial company.

I also
 
U

UnquaLe

U can use versant open access
they are big company. and they will support the visual studio 2005 beta
2 when it is relased...
and it has got the interface...
u will work with OQL (Object query language)
Objectspaces... U havve to wailt for it.. in 2008 maybe u can use..
Hibernate is great.. and very big project.. but it is for java
NHibernate.. its same hibernate.. but it hasnt got a big past like
Hibernate...

I prefer to use versant.. becouse they are in OODB... so they are
really big...
 
W

Wolfgang Strasser

UnquaLe wrote:

Hi,

in our project we are using TechTalk's Genome (http://www.genom-e.com)
o/r mapping framework.
* SQL-Server and Oracle support
* Query language is some sort of OQL (related to c#)
* mapping layer is generated as a post-build step
* performant
* brings several framework extensions (like an optimized Web Datagrid or
enhancements for supporting webservices)...

As far as I know they will support .NET 2 (or they already are!).
From my point of view, Genome is a very reliable and performant
framework and I think it's worth looking at.

regards,
Wolfgang
 
W

Wolfgang Strasser

Hi,

in our project we are using TechTalk's Genome (http://www.genom-e.com)
o/r mapping framework.
* SQL-Server and Oracle support
* Query language is some sort of OQL (related to c#)
* mapping layer is generated as a post-build step
* performant
* brings several framework extensions (like an optimized Web Datagrid or
enhancements for supporting webservices)...

As far as I know they will support .NET 2 (or they already are!).
From my point of view, Genome is a very reliable and performant
framework and I think it's worth looking at.

regards,
Wolfgang
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top