- 增加 fsql.InsertDict/UpdateDict/DeleteDict 字典操作的扩展方法;#481

This commit is contained in:
2881099
2022-03-25 19:07:47 +08:00
parent dc688adc11
commit 0fcc5619be
22 changed files with 491 additions and 91 deletions

View File

@ -44,13 +44,13 @@ namespace FreeSql.Tests.MySqlConnector
["name"] = "yyyy"
});
var sql1 = fsql.Insert(dic).AsTable("table1").ToSql();
var sql1 = fsql.InsertDict(dic).AsTable("table1").ToSql();
Assert.Equal(@"INSERT INTO `table1`(`id`, `name`) VALUES(@id_0, @name_0)", sql1);
var sql2 = fsql.Insert(diclist).AsTable("table1").ToSql();
var sql2 = fsql.InsertDict(diclist).AsTable("table1").ToSql();
Assert.Equal(@"INSERT INTO `table1`(`id`, `name`) VALUES(@id_0, @name_0), (@id_1, @name_1)", sql2);
var sql3 = fsql.Insert(dic).AsTable("table1").NoneParameter().ToSql();
var sql3 = fsql.InsertDict(dic).AsTable("table1").NoneParameter().ToSql();
Assert.Equal(@"INSERT INTO `table1`(`id`, `name`) VALUES(1, 'xxxx')", sql3);
var sql4 = fsql.Insert(diclist).AsTable("table1").NoneParameter().ToSql();
var sql4 = fsql.InsertDict(diclist).AsTable("table1").NoneParameter().ToSql();
Assert.Equal(@"INSERT INTO `table1`(`id`, `name`) VALUES(1, 'xxxx'), (2, 'yyyy')", sql4);
}

View File

@ -37,16 +37,16 @@ namespace FreeSql.Tests.Dameng
["name"] = "yyyy"
});
var sql1 = fsql.Insert(dic).AsTable("table1").ToSql();
var sql1 = fsql.InsertDict(dic).AsTable("table1").ToSql();
Assert.Equal(@"INSERT INTO ""TABLE1""(""ID"", ""NAME"") VALUES(:id_0, :name_0)", sql1);
var sql2 = fsql.Insert(diclist).AsTable("table1").ToSql();
var sql2 = fsql.InsertDict(diclist).AsTable("table1").ToSql();
Assert.Equal(@"INSERT ALL
INTO ""TABLE1""(""ID"", ""NAME"") VALUES(:id_0, :name_0)
INTO ""TABLE1""(""ID"", ""NAME"") VALUES(:id_1, :name_1)
SELECT 1 FROM DUAL", sql2);
var sql3 = fsql.Insert(dic).AsTable("table1").NoneParameter().ToSql();
var sql3 = fsql.InsertDict(dic).AsTable("table1").NoneParameter().ToSql();
Assert.Equal(@"INSERT INTO ""TABLE1""(""ID"", ""NAME"") VALUES(1, 'xxxx')", sql3);
var sql4 = fsql.Insert(diclist).AsTable("table1").NoneParameter().ToSql();
var sql4 = fsql.InsertDict(diclist).AsTable("table1").NoneParameter().ToSql();
Assert.Equal(@"INSERT ALL
INTO ""TABLE1""(""ID"", ""NAME"") VALUES(1, 'xxxx')
INTO ""TABLE1""(""ID"", ""NAME"") VALUES(2, 'yyyy')

View File

@ -37,15 +37,15 @@ namespace FreeSql.Tests.Firebird
["name"] = "yyyy"
});
var sql1 = fsql.Insert(dic).AsTable("table1").ToSql();
var sql1 = fsql.InsertDict(dic).AsTable("table1").ToSql();
Assert.Equal(@"INSERT INTO ""TABLE1""(""ID"", ""NAME"") VALUES(@id_0, @name_0)", sql1);
var sql2 = fsql.Insert(diclist).AsTable("table1").ToSql();
var sql2 = fsql.InsertDict(diclist).AsTable("table1").ToSql();
Assert.Equal(@"INSERT INTO ""TABLE1""(""ID"", ""NAME"") SELECT FIRST 1 @id_0, @name_0 FROM rdb$database
UNION ALL
SELECT FIRST 1 @id_1, @name_1 FROM rdb$database", sql2);
var sql3 = fsql.Insert(dic).AsTable("table1").NoneParameter().ToSql();
var sql3 = fsql.InsertDict(dic).AsTable("table1").NoneParameter().ToSql();
Assert.Equal(@"INSERT INTO ""TABLE1""(""ID"", ""NAME"") VALUES(1, 'xxxx')", sql3);
var sql4 = fsql.Insert(diclist).AsTable("table1").NoneParameter().ToSql();
var sql4 = fsql.InsertDict(diclist).AsTable("table1").NoneParameter().ToSql();
Assert.Equal(@"INSERT INTO ""TABLE1""(""ID"", ""NAME"") SELECT FIRST 1 1, 'xxxx' FROM rdb$database
UNION ALL
SELECT FIRST 1 2, 'yyyy' FROM rdb$database", sql4);

View File

@ -37,9 +37,9 @@ namespace FreeSql.Tests.MsAccess
["name"] = "yyyy"
});
var sql1 = fsql.Insert(dic).AsTable("table1").ToSql();
var sql1 = fsql.InsertDict(dic).AsTable("table1").ToSql();
Assert.Equal(@"INSERT INTO [table1]([id], [name]) VALUES(1, 'xxxx')", sql1);
var sql2 = fsql.Insert(diclist).AsTable("table1").ToSql();
var sql2 = fsql.InsertDict(diclist).AsTable("table1").ToSql();
Assert.Equal(@"INSERT INTO [table1]([id], [name]) VALUES(1, 'xxxx'), (2, 'yyyy')", sql2);
}

View File

@ -45,13 +45,13 @@ namespace FreeSql.Tests.MySql
["name"] = "yyyy"
});
var sql1 = fsql.Insert(dic).AsTable("table1").ToSql();
var sql1 = fsql.InsertDict(dic).AsTable("table1").ToSql();
Assert.Equal(@"INSERT INTO `table1`(`id`, `name`) VALUES(?id_0, ?name_0)", sql1);
var sql2 = fsql.Insert(diclist).AsTable("table1").ToSql();
var sql2 = fsql.InsertDict(diclist).AsTable("table1").ToSql();
Assert.Equal(@"INSERT INTO `table1`(`id`, `name`) VALUES(?id_0, ?name_0), (?id_1, ?name_1)", sql2);
var sql3 = fsql.Insert(dic).AsTable("table1").NoneParameter().ToSql();
var sql3 = fsql.InsertDict(dic).AsTable("table1").NoneParameter().ToSql();
Assert.Equal(@"INSERT INTO `table1`(`id`, `name`) VALUES(1, 'xxxx')", sql3);
var sql4 = fsql.Insert(diclist).AsTable("table1").NoneParameter().ToSql();
var sql4 = fsql.InsertDict(diclist).AsTable("table1").NoneParameter().ToSql();
Assert.Equal(@"INSERT INTO `table1`(`id`, `name`) VALUES(1, 'xxxx'), (2, 'yyyy')", sql4);
}

View File

@ -37,16 +37,16 @@ namespace FreeSql.Tests.Oracle
["name"] = "yyyy"
});
var sql1 = fsql.Insert(dic).AsTable("table1").ToSql();
var sql1 = fsql.InsertDict(dic).AsTable("table1").ToSql();
Assert.Equal(@"INSERT INTO ""TABLE1""(""ID"", ""NAME"") VALUES(:id_0, :name_0)", sql1);
var sql2 = fsql.Insert(diclist).AsTable("table1").ToSql();
var sql2 = fsql.InsertDict(diclist).AsTable("table1").ToSql();
Assert.Equal(@"INSERT ALL
INTO ""TABLE1""(""ID"", ""NAME"") VALUES(:id_0, :name_0)
INTO ""TABLE1""(""ID"", ""NAME"") VALUES(:id_1, :name_1)
SELECT 1 FROM DUAL", sql2);
var sql3 = fsql.Insert(dic).AsTable("table1").NoneParameter().ToSql();
var sql3 = fsql.InsertDict(dic).AsTable("table1").NoneParameter().ToSql();
Assert.Equal(@"INSERT INTO ""TABLE1""(""ID"", ""NAME"") VALUES(1, 'xxxx')", sql3);
var sql4 = fsql.Insert(diclist).AsTable("table1").NoneParameter().ToSql();
var sql4 = fsql.InsertDict(diclist).AsTable("table1").NoneParameter().ToSql();
Assert.Equal(@"INSERT ALL
INTO ""TABLE1""(""ID"", ""NAME"") VALUES(1, 'xxxx')
INTO ""TABLE1""(""ID"", ""NAME"") VALUES(2, 'yyyy')

View File

@ -37,13 +37,13 @@ namespace FreeSql.Tests.PostgreSQL
["name"] = "yyyy"
});
var sql1 = fsql.Insert(dic).AsTable("table1").ToSql();
var sql1 = fsql.InsertDict(dic).AsTable("table1").ToSql();
Assert.Equal(@"INSERT INTO ""table1""(""id"", ""name"") VALUES(@id_0, @name_0)", sql1);
var sql2 = fsql.Insert(diclist).AsTable("table1").ToSql();
var sql2 = fsql.InsertDict(diclist).AsTable("table1").ToSql();
Assert.Equal(@"INSERT INTO ""table1""(""id"", ""name"") VALUES(@id_0, @name_0), (@id_1, @name_1)", sql2);
var sql3 = fsql.Insert(dic).AsTable("table1").NoneParameter().ToSql();
var sql3 = fsql.InsertDict(dic).AsTable("table1").NoneParameter().ToSql();
Assert.Equal(@"INSERT INTO ""table1""(""id"", ""name"") VALUES(1, 'xxxx')", sql3);
var sql4 = fsql.Insert(diclist).AsTable("table1").NoneParameter().ToSql();
var sql4 = fsql.InsertDict(diclist).AsTable("table1").NoneParameter().ToSql();
Assert.Equal(@"INSERT INTO ""table1""(""id"", ""name"") VALUES(1, 'xxxx'), (2, 'yyyy')", sql4);
}

View File

@ -37,13 +37,13 @@ namespace FreeSql.Tests.ShenTong
["name"] = "yyyy"
});
var sql1 = fsql.Insert(dic).AsTable("table1").ToSql();
var sql1 = fsql.InsertDict(dic).AsTable("table1").ToSql();
Assert.Equal(@"INSERT INTO ""TABLE1""(""ID"", ""NAME"") VALUES(@id_0, @name_0)", sql1);
var sql2 = fsql.Insert(diclist).AsTable("table1").ToSql();
var sql2 = fsql.InsertDict(diclist).AsTable("table1").ToSql();
Assert.Equal(@"INSERT INTO ""TABLE1""(""ID"", ""NAME"") VALUES(@id_0, @name_0), (@id_1, @name_1)", sql2);
var sql3 = fsql.Insert(dic).AsTable("table1").NoneParameter().ToSql();
var sql3 = fsql.InsertDict(dic).AsTable("table1").NoneParameter().ToSql();
Assert.Equal(@"INSERT INTO ""TABLE1""(""ID"", ""NAME"") VALUES(1, 'xxxx')", sql3);
var sql4 = fsql.Insert(diclist).AsTable("table1").NoneParameter().ToSql();
var sql4 = fsql.InsertDict(diclist).AsTable("table1").NoneParameter().ToSql();
Assert.Equal(@"INSERT INTO ""TABLE1""(""ID"", ""NAME"") VALUES(1, 'xxxx'), (2, 'yyyy')", sql4);
}

View File

@ -47,13 +47,13 @@ namespace FreeSql.Tests.SqlServer
["name"] = "yyyy"
});
var sql1 = fsql.Insert(dic).AsTable("table1").ToSql();
var sql1 = fsql.InsertDict(dic).AsTable("table1").ToSql();
Assert.Equal(@"INSERT INTO [table1]([id], [name]) VALUES(@id_0, @name_0)", sql1);
var sql2 = fsql.Insert(diclist).AsTable("table1").ToSql();
var sql2 = fsql.InsertDict(diclist).AsTable("table1").ToSql();
Assert.Equal(@"INSERT INTO [table1]([id], [name]) VALUES(@id_0, @name_0), (@id_1, @name_1)", sql2);
var sql3 = fsql.Insert(dic).AsTable("table1").NoneParameter().ToSql();
var sql3 = fsql.InsertDict(dic).AsTable("table1").NoneParameter().ToSql();
Assert.Equal(@"INSERT INTO [table1]([id], [name]) VALUES(1, N'xxxx')", sql3);
var sql4 = fsql.Insert(diclist).AsTable("table1").NoneParameter().ToSql();
var sql4 = fsql.InsertDict(diclist).AsTable("table1").NoneParameter().ToSql();
Assert.Equal(@"INSERT INTO [table1]([id], [name]) VALUES(1, N'xxxx'), (2, N'yyyy')", sql4);
}

View File

@ -37,13 +37,13 @@ namespace FreeSql.Tests.Sqlite
["name"] = "yyyy"
});
var sql1 = fsql.Insert(dic).AsTable("table1").ToSql();
var sql1 = fsql.InsertDict(dic).AsTable("table1").ToSql();
Assert.Equal(@"INSERT INTO ""table1""(""id"", ""name"") VALUES(@id_0, @name_0)", sql1);
var sql2 = fsql.Insert(diclist).AsTable("table1").ToSql();
var sql2 = fsql.InsertDict(diclist).AsTable("table1").ToSql();
Assert.Equal(@"INSERT INTO ""table1""(""id"", ""name"") VALUES(@id_0, @name_0), (@id_1, @name_1)", sql2);
var sql3 = fsql.Insert(dic).AsTable("table1").NoneParameter().ToSql();
var sql3 = fsql.InsertDict(dic).AsTable("table1").NoneParameter().ToSql();
Assert.Equal(@"INSERT INTO ""table1""(""id"", ""name"") VALUES(1, 'xxxx')", sql3);
var sql4 = fsql.Insert(diclist).AsTable("table1").NoneParameter().ToSql();
var sql4 = fsql.InsertDict(diclist).AsTable("table1").NoneParameter().ToSql();
Assert.Equal(@"INSERT INTO ""table1""(""id"", ""name"") VALUES(1, 'xxxx'), (2, 'yyyy')", sql4);
}