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.