Following section demonstrates how to read record(s) by using System.Data.Common.DbCommand.
        // DbCommand is being prepared
        var cmd = cn.CreateCommand(" SELECT field1, field2 " + 
                                   " FROM table1 WHERE field1<>@param1;",
                                   new { param1 = 0});

        // Records are being read and converted to dictionary by linq...
        var dic = connection.ExecuteReader(cmd).ToDictionary(
                                       x => x["field1"], 
                                       x => x["field2"]
                                   );