You can do data readers, but that means 1999. Returnables are a breeze with SubSonic and easier to use than a data reader. You can get such objects:
Dim Charts As Generic.List(Of MusicDB.Billboard) = _ New SubSonic.Select(MusicDB.DB.Repository.Provider, New String() _ {"Prefix", "Artist", "Track", "ArtistNarrowToken", "TrackNarrowToken", "ArtistId", "TrackId", "TrackYear"}). _ From(MetadataTagger.MusicDB.Tables.Billboard). _ Where(MusicDB.Billboard.Columns.ArtistNarrowToken).IsLessThan(10). _ Or(MusicDB.Billboard.Columns.TrackId).IsNull(). _ OrderAsc(New String() {"TrackYear"}).ExecuteTypedList(Of MetadataTagger.MusicDB.Billboard)()
source share