
RE: llblgen, ORMapper, nhibernate
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
"Rob" wrote:
> 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
>
>
>
>