ExtendedObjectDataSource
This control is a replacement for the ObjectDataSource and adds a lot of features: * SelectMethod is the only method needed if we want to use paging* The methods are called using dynamically generated MSIL instead of reflaction obtaining a 2000% performance improvement* Easy to extend or modify* Helper classes to boost development of custom data source controls similar to the ObjectDataSource* Cache data if sorting and filtering is enabled* Full filtering support for the select operation (without relying in DataView.RowFilter)* Hability to implement custom caching functionality* Automatically assign AffectedRows for the Insert, Update and Delete operations* Works properly with a culture that it's not compatible with the InvariantCulture* Hability to add or remove parameters in the Inserting, Updating or Deleting events if using custom objects* Source code available if you need more customization