Steven Smith has a great little article on ASPAllicance on comparing performance and methods of performing data access in .NET applications. Some really interesting techniques there, I especially like the IDataReader delegate example, a really nice solution to passing IDataReaders between layers in an app…