Wade wrote:
Frans,
I downloaded the beta and I am still confused at what all the enhancements are. I looked over some of the documentation. Could you help with what are the new Designer Key Features and why we would want to upgrade besides just running on the .Net 2.0 framework?
Thanks,
Wade
First of all, I'd like to invite you to read the What's new page in the enclosed beta documentation. It gives a detailed overview what's new.
As that's very detailed, it can be confusing what the key features are.
The core focus of V2.0 was to enhance the runtime libraries and templates to the next level, and to add those features to the designer which would make that possible. So the designer is of course enhanced with .NET 2.0 graphics, but the key aspect of the new designer is the new code generator configuration.
The template system is redesigned and it's now very easy to customize the code generation process without having to alter a lot of config files and read extensive sdk documentation.
Other key new feature is the ability to have a plugin open a window and have it docked inside the designer. This way you can simply start a plugin on an entity and open directly a custom designer if you want.
The runtime libraries/templates have as key new features:
- full .NET 2.0 support (generics, nullable types!, System.Transactions support etc.)
- ASP.NET 2.0 design time databinding and 2-way databinding in ASP.NET 2.0, fully declarative (no code required )
- entity views, which offer you in-memory sorting and filtering of entitycollections. They also offer you to create new sets of data from existing entity views, which are based on a filter. So you can for example load all customers in a collection, then create an entityview from that collection based on the filter (CustomerFields.Country=="France") (you can use normal predicates and sort expressions for this ) and you can THEN create a new set from those customer data which matched that filter, for example create a datatable with only the customerid and companyname. That's called 'projection'.
- support for database functions in expressions, so you can call any database function in an expression you set on a field.
- fetch data as a datareader. This means also fetching a stored procedure as a datareader
- create projections from resultsets in a datareader. This means you can now fetch entities based on a stored procedure call, or project data you fetch as a datareader onto whatever class structure you have, datatables, entities or custom classes. This is especially handy in webservice scenario's where you have dumb DTO classes (messages) and you can with the projections very easily project data from a resultset onto small classes you then send to the client, which is often more efficient than using the XML generation build in the entities, as the XmlSerializer is used in the DTO scenario, which generates code behind the scenes to do the serialization, hence the speed increase
- Better: SqlServer 2005 support: User defined types support, Synonym support for views/tables
- Oracle driver/DQE based on the MS Oracle provider (.NET 1.1/2.0)
- New validation framework, which makes it very easy to add validation code to the generated classes and intercept actions on the entities in a lot of stages and states.
- Debug visualizers for VS.NET 2005 to ease debugging of various LLBLGen Pro types.
- New template configuration system, which makes extending the code generation cycle very easy
- Much lower memory footprint of entities in memory
- Much faster query execution/efficiency
There are a lot of small details changed/improved. It's key to understand that you should take your time: you're not forced to upgrade, we keep on supporting 1.0.2005.1's codebase with bugfixes. No new features will be added to 1.0.2005.1's codebase, though if that's good enough for you, you can always decide to upgrade later on.