ASP.NET components
Register or Login

The need of the ExtendedObjectDataSource

The ObjectDataSource control that ships with ASP.NET 2.0 helps us to work with our bussines façade, domain objects and/or data access layer directly avoiding a lot of boilerplate code that was needed before. However, the ObjectDataSource is very strict in the way that it communicates with our objects so we may have to adapt how we design our classes if we want to make use of it.

Some times, we want to modify certain aspects of the ObjectDataSource control to fit our needs instead of having to change how we design our system. However, the ObjectDataSource does not provide any kind of extensibility.

Also, there are some behaviours of the ObjectDataSource control that are not very popular, as the SelectCountMethod for paging or the poor filtering support, the big problems it has if we are not using a culture “compatible” with the invariant culture, and also the lack of control to use a custom instance of the DataObjectTypeName type in the update operation.

If we need to handle high traffic sites, the ObjectDataSource may not be a viable option because the expensive reflection calls that are made every time the control needs to perform an operation with our custom objects.

If you want to improve the integration of your custom objects in ASP.NET you can use the ExtendedObjectDataSource package. All limitations present in the ObjectDataSource have been removed and it is designed with extensibility in mind, letting you adapt it to fit your needs and to obtain big performance increase compared with the ObjectDataSource. For a comprehensive listing of all the limitations of the ObjectDataSource control and what the ExtendedObjectDataSource package can offer, take a look at the Features page.