What's new/changed in LLBLGen Pro Runtime Framework v3.0?
Below you'll find a list of changes, additions and important fixes in the 3.0 release
of the LLBLGen Pro Runtime Framework. It's recommended you also browse the
Migrating your code section for breaking changes.
Features no longer supported in 3.0
The following features are no longer supported:
- Compact Framework. Starting with v3.0, we only support full
versions of the .NET framework
- .NET 1.0 and .NET 1.1. The LLBLGen Pro Runtime Framework v3.0
supports .NET 2.0 and higher, and no longer .NET 1.0 or .NET 1.1. This
also means there's no support for VS.NET 2002 and VS.NET 2003 anymore
- Oracle 8i. Oracle has dropped support (publically) for Oracle
8i years ago, and LLBLGen Pro v3.0 also doesn't support Oracle 8i
anymore.
New functionality / changes
General
- All DQEs now use the DbProviderFactory system. This requires
that the ADO.NET provider used is build against .NET 2.0 or higher. The
advantage of this is that you no longer need to reference an ADO.NET
provider assembly nor do you have to use assembly redirects if you use a
newer version of the ADO.NET provider than the one we used to build the
runtime libraries. Firebird / PostgreSql users: please see the
notes on the
Compiling
your Code page.
- TypedViews can now also be mapped on stored procedure resultsets
and Tables.
Multiple resultset returning stored procedures are supported.
See
Adapter or
SelfServicing for details.
- .NET 4.0 / VS.NET 2010 support. Choosing .NET 4.0 as target
platform automatically creates vs.net 2010 project files.
- Support for multiple entity classes with a relationship mapped
onto the same target. This is called 'entity splitting' where a new
entity is mapped onto the same target and has optional (nullable) fields
and a 1:1 relationship between its PK and the PK of an other entity
mapped onto the same target. Useful when large fields have to be in a
separate entity as they're optional.
- Native enum support. It's no longer necessary to use a type
converter to have enum fields, as long as the target field is of a type
convertable to integer.
- Multi-catalog support for MySQL and Sybase ASE. You can now
use multiple catalogs in MySQL and Sybase ASE, you can also use catalog
name overwriting using these databases.
- Stored procedure support for MySQL v5.x+. It's now possible
to use stored procedures in MySQL v5.x
- Oracle specific: NUMBER fields without precision/scale are now
handled properly. These fields are now seen as FLOAT(126) fields and
properly store floating point data without rounding issues. The .NET
type is still decimal.
Runtime Libraries
Changed
- DataSource controls now contain a property TotalRowCount.
This property is set after a get dbcount query is executed in a paging
query situation.
- EntityView and EntityView2 now have a method called Refresh.
This method reapplies filter/sorter on the view to refresh its contents.
- The Context class now has a lot of extensibility points to
customize Context usage. This should make using the Context class
more easier.
- ORMEntityOutOfSyncException and ORMEntityIsDeletedException now
embed the entity which triggered the exception. Please see the
LLBLGen Pro Runtime Framework reference manual for details.
- EntityCollection[index] = entity; where entity was already at
that index is now a no-op. The verification uses an instance
comparison, not a value comparison.
- Entity classes now have a protected virtual method called
OnSetRelatedEntityProperty. This method can be used to extend the
prefetch path system.
Templates
Changed
- Selfservicing: DbUtils has been removed. A new class,
CommonDaoBase which is placed between the Dao classes and the DaoBase
class now contains the DbUtils properties / methods. See
CommonDaoBase Functionality.