public List <IDlo> GetData(DbTransaction transaction, int pageNumber = -1) { var ret = new List <IDlo>(); SetSchemaTableIfNull(); SetPrimaryKeyIfNull(); using (DbCommand cmd = MRC.GetCommand(CNN)) { cmd.CommandText = SqlGenerator.GetSql(Sql, Where, SqlGenerator.GetOrderByClause(OrderItems), pageNumber, PageSize); cmd.Transaction = transaction; using (DbDataReader reader = cmd.ExecuteReader()) { while (reader.Read()) { var dlo = new Dlo(); for (int i = 0; i < reader.FieldCount; i++) { // CONSIDER - treba li poslusati best practices dbreadera (Stringove vracati s reader.GetString, decimali reader.GetDecimal, itd.) testirati performance profilerom dlo.ColumnValues.Add(reader.GetName(i), reader.GetValue(i)); } ret.Add(dlo); } } } return(ret); }
public void Connect(string connectionString) { MRC.GetInstance().ConnectionString = connectionString; try { using (DbConnection cnn = MRC.GetConnection()) { cnn.Open(); object test = null; using (IDbCommand cmd = MRC.GetCommand(cnn)) { cmd.CommandText = "SELECT Test = 1"; test = cmd.ExecuteScalar(); } } } catch (Exception ex) { throw new Exception("Cannot connect to database.\n", ex); } }