public void Build_DateTime_DateTime() { var builder = new DbTypeBuilder(); var result = builder.Build("DateTime"); Assert.That(result.Value, Is.EqualTo(DbType.DateTime)); }
public void Build_Varchar_AnsiString() { var builder = new DbTypeBuilder(); var result = builder.Build("Varchar"); Assert.That(result.Value, Is.EqualTo(DbType.AnsiString)); }
public void Build_Varchar255_AnsiStringWithSize() { var builder = new DbTypeBuilder(); var result = builder.Build("varchar(255)"); Assert.That(result.Value, Is.EqualTo(DbType.AnsiString)); Assert.That(result.Size, Is.EqualTo(255)); }
public void Build_Decimal10And2_DecimalWithSizeAndPrecision() { var builder = new DbTypeBuilder(); var result = builder.Build("Decimal (10,2)"); Assert.That(result.Value, Is.EqualTo(DbType.Decimal)); Assert.That(result.Size, Is.EqualTo(10)); Assert.That(result.Precision, Is.EqualTo(2)); }
protected IDbCommand Instantiate(IDbConnection connection, IQuery query, ITemplateEngine engine) { var cmd = connection.CreateCommand(); if (query.TemplateTokens != null && query.TemplateTokens.Count() > 0) { cmd.CommandText = ApplyVariablesToTemplate(engine, query.Statement, query.TemplateTokens); } else { cmd.CommandText = query.Statement; } if (query.Parameters != null && query.Parameters.Count() > 0) { foreach (var p in query.Parameters) { var param = cmd.CreateParameter(); param.ParameterName = RenameParameter(p.Name); param.Value = p.GetValue(); var dbType = new DbTypeBuilder().Build(p.SqlType); if (dbType != null) { param.Direction = ParameterDirection.Input; param.DbType = dbType.Value; param.Size = dbType.Size; param.Precision = dbType.Precision; } cmd.Parameters.Add(param); } } if (query.CommandType > 0) { cmd.CommandType = query.CommandType; } var commandTimeout = Convert.ToInt32(Math.Max(0, query.Timeout.TotalSeconds)); cmd.CommandTimeout = commandTimeout; return(cmd); }