public SqlMapperPersistenceEngine(string connectionString, IDriver driver, DBDialect dialect, Mapping mapping, ArrayList cacheEntries, Models.Model model) { if (connectionString == null) { throw new ArgumentNullException("connectionString"); } if (driver == null) { throw new ArgumentNullException("driver"); } if (dialect == null) { throw new ArgumentNullException("dialect"); } if (mapping == null) { throw new ArgumentNullException("mapping"); } this.Driver = driver; this.Dialect = dialect; this._Mapping = mapping; this._Connection = this._Driver.CreateConnection(connectionString); if (_Connection is Evaluant.Uss.Data.FileClient.FileConnection) { ((Evaluant.Uss.Data.FileClient.FileConnection)_Connection).Dialect = dialect; } base._Model = model; this._CacheEntries = cacheEntries; this.Initialize(); }
public static void Trace(IDbCommand command, DBDialect dialect) { string query = command.CommandText; if (dialect != null) { foreach (IDbDataParameter param in command.Parameters) if(param.Value != DBNull.Value) query = query.Replace(param.ParameterName, dialect.FormatValue(param.Value.ToString(), param.DbType)); else query = query.Replace(param.ParameterName, "NULL"); } else { foreach (IDataParameter param in command.Parameters) { string value = param.Value == null ? "null" : param.Value.ToString(); query += String.Concat("\n", param.ParameterName, " : ", param.DbType.ToString(), " = ", value); } } System.Diagnostics.Trace.WriteLine(query); }