psandler wrote:
You mentioned a roadmap to new versions and releases in another post on this forum.
We've put up a rough roadmap on the general website:
http://www.llblgen.com/pages/roadmap.aspx
though that doesn't answer your detailed questions, so I'll try that here
I'm interested in what new features will be included in the next version, and what new features you plan to add to the current version. Are these planned features documented anywhere?
Current version:
- inheritance (target per entity hierarchy (so all classes in a hierarchy mapped to a single target (view/table) with discriminator field) and target per concrete entity (so each entity in a hierarchy is mapped onto a different target, no duplication of fields, no need for discriminator field)
- flexible mapping: map more entities to a single target, remove fields from an entity if you don't want them
- type converters, so you can define for example in an Oracle project: NUMBER(1,0) maps to boolean, and every field which is of type NUMBER(1,0) will then not be int16 but bool, and the conversion is automatic
- If operator overloading works well for .NET 2.0: handy operators for predicate construction in C# (vb.net doesn't support operator overloading)
- CF.NET 1.1 support including SqlCE support
- some (very) small things.
v2.0: (these are the features planned for 100%)
- complete new framework for .NET 2.0 with generics, nullable types, operator overloading for VB.NET, design time support for vs.net 2005, debug data visualizers etc. etc.
- SqlServer 2005 driver with UDT support
- Xml native type support for Oracle and SqlServer
- more database drivers, though which ones are not decided yet.
- business rule definition on various levels
- Expression columns in entities and typed lists. Both database-level and entity level expressions.
- better webservices support with the new XmlSerializer directives for .NET 2.0
Also, I'm wondering how easy it will be to port 1.x to 2.x? Do you have any idea at this point?
The current codebase will keep support to get patches for bugs. V2.0 will ship with an upgraded version of the current codebase as well, WITH support for new features added to the framework, like validation and business rule definitions.
Upgrading .NET 1.x code to .NET 2.0 code will take time and will include some work. The main issue is that the .NET 2.0 version of the framework uses a single codebase as its core: adapter, and will have a wrapper around it for selfservicing, and will be build with generics. This will require different code to work with the generated code, as generics require a different way of working with the objects.
Though the vast majority of the work with O/R mappers are the query / filter definitions. These will keep their syntax, that code will be recompilable, you don't have to port over all your filter definitions for example.
This is for all the code you wrote today and you want to move to 2.0 to utilize generics btw: it will require some porting code. I'll add dummy interfaces like IEntity2 to make code compile without a lot of effort.