Following section demonstrates how to read record(s) as Anonymous.
		// Table Aliases
		var t0 = new exm.Orders().AsQueryable();

		// Query
		var query = Odb.SQL.Select(x => x.From(t0).Top(10) );

        // Read
        var result = connection.Sql(query).Map();

        foreach (var row in connection.Sql(query).{{hl}}Read(){{/hl}}){
            // by COLUMN-INDEX...                
            var v1 = {{hl}}row[0]{{/hl}};
            var v2 = {{hl}}row.GetInt32(0){{/hl}};

            // by COLUMN-NAME...
            var v3 = {{hl}}row["OrderID"]{{/hl}};

            // by EXPRESSION...
            var v4 = {{hl}}row.Get(()=> t0.OrderID){{/hl}};
        }
    
Server and Db (same machine)
Core I7-9750H @2.60GHz, 16GB RAM MsSQL Server 2019 Express
Results (1 million records)
Map : 1,63 seconds
By ColumnIndex : 1,89 seconds
By ColumnName : 2,34 seconds
By Expression : 2,53 seconds
5mvsiG