The ObjectDataProvider is one of the key providers we ship with LL. It binds to generic lists just as well as to EntityFramework or other Object Relational Mapper data. It is also the final fallback for all datasources that cannot be handled by one of the other providers. In LL21, the provider got a couple of new features for the .NET 4.0 assembly.
First, the ObjectDataProvider now supports native filtering. This is important when working with report parameters or DrillDown on chart reports. Often, you’ll want to filter your data according to the parameter or chart item that was just clicked. While that was possible before, it could be dead slow depending on the amount of data – filtering in the report engine has a big performance impact. With LL21, we use a sophisticated dynamical LINQ expression that is precompiled to match the filter the user has set in the Designer. Executing this query is lightning fast and so is your result. Additionaly, the provider also supports native aggregates, a new concept in LL21, thanks to LINQ. Due to the nature of this feature, it’s only available in the 4.0 flavor of the assembly.
In addition, there are a bunch of other data providers that were overhauled (e.g. the ODataDataProvider) or that we newly added (e.g. the Oracle-, SharePoint- or CassandraDataProvider).