Comparison between LLBLGen Pro and CodeSmith tools. I’m very new to both so the following points might be completely wrong. So correct me please and do fill in more.

LLBLGen CodeSmith
O/R Mapper + Code Generator Template based Code Generator
Uses Parameterized Dynamic Queries Mainly Stored procedures
Cost license fee,
Need to buy template studio for custom template creation/management.
Free (console version)
Comes as templates so add/update or manage as you wish.
On-fly code generation, you don’t get to see templates or whatsoever. Gives control over the whole process, top-bottom, as they are managed by individual templates
Does not create DB schema/generation. Creates the whole DB structure ie. Storeprocs, triggers, tables, functions etc
N-tier generated with one go ie. If you change something in DB, you just regenerate the llblgen project and all files get updated. Individual template/batch file generation ie. You need to run B&D batch, channel batch etc one by one to get update files across 3 layer solutions.
No webservices, remoting or channel server. Just uses classes and collections – entities, typelist, typeviews etc Can add as much layer separation between DB end and UI end. Can manage as you wish just by working on templates
Less code – 2 projects, 1 solution More code, some redundant – multiple projects, 3 solutions
N-tier project structure
- Database Generic
- Database Specific
- UI
(2 types: Adapter based or SelfServicing)
N-tier project structure
- Business and Data
- Public Channels
- Presentations
(Add more as you wish)
Do sorting, filtering, grouping, paging, all DB queries by a few class calls. (Dynamic queries) Need individual storeproc for each function. Adding one function needs to do individual updates for all projects and across solutions as well. Extensive use of storeproc.
It is n-tier but basic multi tier structure which separate Business data code from UI codes. Advance/better n-tier architecture. Greater security and more control over each layers.
Easier code generation + usage + less error generation. Need proper setup or you’ll get tangle in between. Small error in your base template will affect the entire project code.
You write very little code ie. Only need to write for UI code. You have to write all the codes for your based templates if you don’t already have templates in hand.
Provide .net 1.1, and .net 2.0 classes, ready to use and choose whichever you need. No .net 2.0 codesmith templates for us yet. Can use third-party templates but it will cost us.
It doesn’t require dotnet framework and work independently. Uses dotnet framework as main backbone.

# References:

# Debate: O/R Mapping or Code Generation : Lots of discussion going on there in the reply threads.
# Your Favorite O/R Mapper? : A discussion on O/R Mappers
# CodeSmith Rocks! | When code generation goes bad…
# LLBLGenPro vs CodeSmith w/ .netTiers

No related posts.