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();
        }
Exemple #2
0
        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);
        }