Fetches only the selected columns in the query, returning
matching rows between the specified index. This allows you to retrieve partially loaded DataObject, instead
of retrieving all columns in the object.
This is a new advanced method which currently requires SQL Server 2005, and careful usage.
TODO: This should be refactored into a generic method which can be implemented for different
database types