public void TestMethodInsertOuputSqlAndListOfParameter() { var created = DateTime.Now.AddDays(-1); SqlBuilder raw = new SqlBuilder(); SqlBuilderInsert insertSqlServer = raw.InsertFrom("People", SqlServerProvider); SqlBuilderInsert insertMysqlServer = raw.InsertFrom("People", MysqlServerProvider); SqlBuilderInsert insertPostgresServer = raw.InsertFrom("People", PostgresServerProvider); (string Sql, List <object> Values, object ClassObject)SqlSqlServer = insertSqlServer.AddColumns("Name", "Created").AddValues("Name 1", created).ToSqlBinding(); (string Sql, List <object> Values, object ClassObject)SqlMySqlServer = insertMysqlServer.AddColumns("Name", "Created").AddValues("Name 1", created).ToSqlBinding(); (string Sql, List <object> Values, object ClassObject)SqlPostgresServer = insertPostgresServer.AddColumns("Name", "Created").AddValues("Name 1", created).ToSqlBinding(); Assert.AreEqual($"INSERT INTO [People]([Name],[Created]) VALUES(@p0,@p1)", SqlSqlServer.Sql); Assert.AreEqual($"INSERT INTO `People`(`Name`,`Created`) VALUES(@p0,@p1)", SqlMySqlServer.Sql); Assert.AreEqual($"INSERT INTO \"People\"(\"Name\",\"Created\") VALUES(@p0,@p1)", SqlPostgresServer.Sql); Assert.AreEqual("Name 1", SqlSqlServer.Values[0]); Assert.AreEqual(created, SqlSqlServer.Values[1]); Assert.AreEqual("Name 1", SqlMySqlServer.Values[0]); Assert.AreEqual(created, SqlMySqlServer.Values[1]); Assert.AreEqual("Name 1", SqlPostgresServer.Values[0]); Assert.AreEqual(created, SqlPostgresServer.Values[1]); }
public void TestMethodInsertOuputRawSqlNullValue() { SqlBuilder raw = new SqlBuilder(); SqlBuilderInsert insertSqlServer = raw.InsertFrom("People", SqlServerProvider); string strSqlSqlServer = insertSqlServer .AddColumns("Name", "Created") .AddValues("Name 1", SqlBuilder.NullValue <DateTime>()).ToRawSql(); Assert.AreEqual($"INSERT INTO [People]([Name],[Created]) VALUES('Name 1',NULL)", strSqlSqlServer); }
public void TestMethodInsertOuputSqlAndListOfParameterWithNull() { SqlBuilder raw = new SqlBuilder(); SqlBuilderInsert insertSqlServer = raw.InsertFrom("People", SqlServerProvider); (string Sql, List <object> Values, object ClassObject)SqlSqlServer = insertSqlServer .AddColumns("Name", "Created") .AddValues("Name 1", SqlBuilder.NullValue <DateTime>()) .ToSqlBinding(); Assert.AreEqual("INSERT INTO [People]([Name],[Created]) VALUES(@p0,@p1)", SqlSqlServer.Sql); PropertyInfo[] infoClassObject = SqlSqlServer.ClassObject.GetType().GetProperties(); Assert.AreEqual("Name 1", infoClassObject[0].GetValue(SqlSqlServer.ClassObject)); Assert.AreEqual(null, infoClassObject[1].GetValue(SqlSqlServer.ClassObject)); }
public void TestMethodInsertOuputRawSql() { var created = DateTime.Now.AddDays(-1); SqlBuilder raw = new SqlBuilder(); SqlBuilderInsert insertSqlServer = raw.InsertFrom("People", SqlServerProvider); SqlBuilderInsert insertMysqlServer = raw.InsertFrom("People", MysqlServerProvider); SqlBuilderInsert insertPostgresServer = raw.InsertFrom("People", PostgresServerProvider); string strSqlSqlServer = insertSqlServer.AddColumns("Name", "Created").AddValues("Name 1", created).ToRawSql(); string strSqlMySqlServer = insertMysqlServer.AddColumns("Name", "Created").AddValues("Name 1", created).ToRawSql(); string strSqlPostgresServer = insertPostgresServer.AddColumns("Name", "Created").AddValues("Name 1", created).ToRawSql(); Assert.AreEqual($"INSERT INTO [People]([Name],[Created]) VALUES('Name 1','{created}')", strSqlSqlServer); Assert.AreEqual($"INSERT INTO `People`(`Name`,`Created`) VALUES('Name 1','{created}')", strSqlMySqlServer); Assert.AreEqual($"INSERT INTO \"People\"(\"Name\",\"Created\") VALUES('Name 1','{created}')", strSqlPostgresServer); }