I have recently evaluated a few code generators and (Object
Relational Model) ORM frameworks in .NET, to my surprise, there were quite a
few of them all with there own unique sets of pro’s and con’s and designed for
various stages of development.
Why do we need an ORM/Code generator?
The main purpose here is to eliminate writing repetitive and
static code; this will lead to a higher quality product, developed in a much shorter
time.
The repetitive/static code I am referring to is CRUD (Create,
Read, Update and Delete), CRUD is common and is required by almost all
applications, it is repetitive and error prone, Crud requires lots of testing time
which can be reduced if code is automatically generated and it can take a lot of
time (like weeks) if the database used is huge.
The Evaluation
As mentioned, there are many ORM/code generators out there,
each with there own pro’s and con’s, these are the features I looked for when
selecting our ORM.
- Support
for hierarchies and relationships,
- Support
for grouping and aggregate functions,
- Support
for transactions,
- Database
independent,
- Concurrency,
- Performance
and footprint,
- Learning
curve and simplicity with which it can be integrated into code,
- Up to
date documentation,
- Online
support,
- Reasonable
price.
End Result
My evaluation has lead to an ORM and code generator that
complement each other well, satisfy all of the above requirements, and has now
been implemented as the core foundation of our development framework.
Implementation has been successful and development time and
quality of the product has been noticeably improved within the first week of
implementation. This has a knock on effect that affects the clients directly, as greatly reduced development time means cheaper pricing and a happier client.
Nadir Kamdar
Currently rated 1.0 by 2 people
- Currently 1/5 Stars.
- 1
- 2
- 3
- 4
- 5