LLBLGen Pro v2.0 released!

Whoa time flies! . After 9 months of hard work, LLBLGen Pro v2.0 has been released!

LLBLGen Pro V2.0 comes with a new licensing scheme: it's now licensed per seat, instead of per-department. Current customers of v1.0.200x.y can upgrade for EUR 49.- per developer. (Designer using developers need a license, the rest don't). Of course, every new release brings new features and enhancements, and this version isn't an exception to that ! Below is a summary of the long list of big and small enhancements and new features packed into v2.0:

  • Full .NET 2.0 support in generated code and runtime libraries with separate runtime libraries codebase for .NET 2.0, using .NET specific features like generics internally as well for optimal performance.
  • SqlServer 2005 server side paging queries now use a CTE based query instead of a temptable based query for optimal performance.
  • Support for nullable types for value-type based entity and view fields. (.NET 2.0 targeting code only)
  • Support for System.Transactions transactions when applicable (SqlServer 2005, .NET 2.0)
  • Support for wsdl schema interpretation logic to have wsdl.exe generate typed stubs for webservices instead of DataSet based stubs (.NET 2.0 targeting code only)
  • New feature-rich validation framework.
  • Powerful data-projection framework: project any entitycollection or resultset retrieved from a datareader onto any datastructure of any type using generic code.
  • Ability to specify scalar queries in expressions, so a subquery inside a selectlist or inside expressions in filters is now possible.
  • It's now possible to fetch a query as a datareader. This query can be a stored procedure call, or a query created on the fly. This datareader can then be used further, if required, to project the data onto classes like entity classes, datatables or custom classes using the generic data-projection framework. This makes it possible to fetch entities through a stored procedure call with very a few lines of code.
  • EntityView (SelfServicing) and EntityView2 (Adapter) classes added, which are dataview-style objects for entity collections. They support sorting, and filtering in-memory, data projection onto other entity collections, datatables or custom classes. Filtering and sorting is done through strongly-typed, compile-time checked predicate and sortclause objects, which are also used for filters and sorters in database queries.
  • Expressions now support calls to database functions (UDF's or system functions). Database functions can accept entity fields or normal values you pass to the function or other expressions (like for example scalar queries).
  • Full support for 2-way declarative databinding and design time databinding in ASP.NET 2.0, using the LLBLGenProDataSource (selfservicing) and LLBLGenProDataSource2 (adapter) controls. These controls support (design time) databinding of entity collections, typed lists and typed views and support server-side paging, sorting and filtering. They also support data persistence / retrieval delegation to different methods (by tracking changes into a UnitofWork object), and filtering/sorting based on parameter binding with other controls on an ASP.NET 2.0 webform.
  • Full support for design time databinding in .NET 2.0 windows forms.
  • .NET 2.0/VS.NET 2005: A set of Debugger Visualizers has been added for a lot of classes in the framework to ease debugging your code.
  • support for CF.NET 2.0 and SqlServerCE 3.0
  • Oracle support using the Microsoft Oracle provider. This replaces the DataDirect based Oracle support.
  • SqlServer 2005: support for synonyms for tables and views, support for User Defined Types (UDT) based on CLR classes, support for NEWSEQUENTIALID() so sequential uniqueidentifier values can be generated by the DB and read back into entities.
  • PostgreSql support for PostgreSql v7.4 and up
  • Much lower memory footprint of entity collections in memory.
  • Entity fetch speed has been greatly enhanced.
  • LLBLGen Pro designer is now running on .NET 2.0, using the new Janus Windows controls v3 for windowing and grids.
  • Plug-ins can now open their own docked window in the LLBLGen Pro designer
  • It's now possible to specify in the designer additional namespaces and interfaces to generate into the entity classes
  • Completely new code generation configuration system, which makes it very easy to add/remove/edit the tasks scheduled in the run queue for code generation.
  • New template configuration system which makes it very easy to add your own templates to an existing set of templates to enhance or replace existing templates
  • without having to alter any system configuration.
  • Much more small enhancements, changes, tweaks and additions.

Working towards such a milestone as this is sometimes a challenge but it was and still is well worth it, thanks to all of you who have supported us .

We hope you all will appreciate what we've implemented in v2.0 and we hope it will bring you even more productivity than v1.0 already did.


  • Great, I look forward to upgrading.

    Coincidentally, I just released a major update to www.dotnetkicks.com, much of the new functionality is using LLBLGEN v2.0 beta generated code.

  • Congratulations!

    I know you've been putting a lot of work into this.

    I loved V1 and can't wait to try V2.

    Now that this milestone has been released will you be focusing on documentation/articles or samples or more features?

    Keep up the great work.


  • isnt this going to be pretty useless once all the ms orm stuff comes out?

  • Great news frans, cant wait to move to a different contract role where I can sell them the benefits of llblgen and get back to my fav tool. Current project requires very little db interaction..boooooo

  • Congrats on this new release! Making the best even better. Keep up the good work.

  • Thanks all! :D

    Gavin: cool stuff! :)

    John: Yeah the coming period will be focussed on smaller projects like examples, tutorials and the like. For example we'll be releasing our forum system TinyForum (working title) as open source as an example project for LLBLGen Pro. No release date set but a beta isn't far away.

    zzzzzz: I don't think it will be obsolete, also because what llblgen pro offers today is already a superset of what MS will offer in more than 1 year. Who knows what we'll offer at that time ;)

  • I guess Linq (on which DLinq is based) will actually benefit LLBLGen (Frans you should really think about an abrevaton of the name :-)) - once Linq is released then LLBLGen will be able to incorporate Linq (language extension) for doing queries thus providing better query language.

Comments have been disabled for this content.