I have a data tier select method that returns a datatable. It\'s called from a business tier method that should then return a strongly typed generic List.
What I wa
You will need to iterate through the datarows and convert them into your objects at some time anyway, but you could write a custom collection with a constructor that takes a collection of datarows and that converts each item into your object type when requested instead of all at once.
Say you define your custom collection that implements IList. It could then have two internal fields - a reference to the collection of datarows and a List. The List would be initialized to the length of the collection of datarows but with null values.
Now in the indexer you could check if the List contains a value at that index and if not you could create the object using whatever means would be useful and store it there before returning it.
This would postpone the creation of your objects until they were requested and you would only create the objects that were requested.
Your objects would probably need a constructor taking a DataRow or you would need some sort of factory to create them, but that is another topic.