mirror of
https://github.com/nsnail/FreeSql.git
synced 2025-06-19 04:18:16 +08:00
- 增加 fsql.Insert(Dictionary<string, object>) 无实体类插入方法;#481
This commit is contained in:
@ -29,6 +29,31 @@ namespace FreeSql.Tests.MySqlConnector
|
||||
}
|
||||
enum TestEnumInserTbType { str1, biggit, sum211 }
|
||||
|
||||
[Fact]
|
||||
public void InsertDictionary()
|
||||
{
|
||||
var fsql = g.mysql;
|
||||
Dictionary<string, object> dic = new Dictionary<string, object>();
|
||||
dic.Add("id", 1);
|
||||
dic.Add("name", "xxxx");
|
||||
var diclist = new List<Dictionary<string, object>>();
|
||||
diclist.Add(dic);
|
||||
diclist.Add(new Dictionary<string, object>
|
||||
{
|
||||
["id"] = 2,
|
||||
["name"] = "yyyy"
|
||||
});
|
||||
|
||||
var sql1 = fsql.Insert(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();
|
||||
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();
|
||||
Assert.Equal(@"INSERT INTO `table1`(`id`, `name`) VALUES(1, 'xxxx')", sql3);
|
||||
var sql4 = fsql.Insert(diclist).AsTable("table1").NoneParameter().ToSql();
|
||||
Assert.Equal(@"INSERT INTO `table1`(`id`, `name`) VALUES(1, 'xxxx'), (2, 'yyyy')", sql4);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void AppendData()
|
||||
{
|
||||
|
@ -22,6 +22,37 @@ namespace FreeSql.Tests.Dameng
|
||||
public DateTime CreateTime { get; set; }
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void InsertDictionary()
|
||||
{
|
||||
var fsql = g.dameng;
|
||||
Dictionary<string, object> dic = new Dictionary<string, object>();
|
||||
dic.Add("id", 1);
|
||||
dic.Add("name", "xxxx");
|
||||
var diclist = new List<Dictionary<string, object>>();
|
||||
diclist.Add(dic);
|
||||
diclist.Add(new Dictionary<string, object>
|
||||
{
|
||||
["id"] = 2,
|
||||
["name"] = "yyyy"
|
||||
});
|
||||
|
||||
var sql1 = fsql.Insert(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();
|
||||
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();
|
||||
Assert.Equal(@"INSERT INTO ""TABLE1""(""ID"", ""NAME"") VALUES(1, 'xxxx')", sql3);
|
||||
var sql4 = fsql.Insert(diclist).AsTable("table1").NoneParameter().ToSql();
|
||||
Assert.Equal(@"INSERT ALL
|
||||
INTO ""TABLE1""(""ID"", ""NAME"") VALUES(1, 'xxxx')
|
||||
INTO ""TABLE1""(""ID"", ""NAME"") VALUES(2, 'yyyy')
|
||||
SELECT 1 FROM DUAL", sql4);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void AppendData()
|
||||
{
|
||||
|
@ -22,6 +22,35 @@ namespace FreeSql.Tests.Firebird
|
||||
public DateTime CreateTime { get; set; }
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void InsertDictionary()
|
||||
{
|
||||
var fsql = g.firebird;
|
||||
Dictionary<string, object> dic = new Dictionary<string, object>();
|
||||
dic.Add("id", 1);
|
||||
dic.Add("name", "xxxx");
|
||||
var diclist = new List<Dictionary<string, object>>();
|
||||
diclist.Add(dic);
|
||||
diclist.Add(new Dictionary<string, object>
|
||||
{
|
||||
["id"] = 2,
|
||||
["name"] = "yyyy"
|
||||
});
|
||||
|
||||
var sql1 = fsql.Insert(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();
|
||||
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();
|
||||
Assert.Equal(@"INSERT INTO ""TABLE1""(""ID"", ""NAME"") VALUES(1, 'xxxx')", sql3);
|
||||
var sql4 = fsql.Insert(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);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void AppendData()
|
||||
{
|
||||
|
@ -22,6 +22,27 @@ namespace FreeSql.Tests.MsAccess
|
||||
public DateTime CreateTime { get; set; }
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void InsertDictionary()
|
||||
{
|
||||
var fsql = g.msaccess;
|
||||
Dictionary<string, object> dic = new Dictionary<string, object>();
|
||||
dic.Add("id", 1);
|
||||
dic.Add("name", "xxxx");
|
||||
var diclist = new List<Dictionary<string, object>>();
|
||||
diclist.Add(dic);
|
||||
diclist.Add(new Dictionary<string, object>
|
||||
{
|
||||
["id"] = 2,
|
||||
["name"] = "yyyy"
|
||||
});
|
||||
|
||||
var sql1 = fsql.Insert(dic).AsTable("table1").ToSql();
|
||||
Assert.Equal(@"INSERT INTO [table1]([id], [name]) VALUES(1, 'xxxx')", sql1);
|
||||
var sql2 = fsql.Insert(diclist).AsTable("table1").ToSql();
|
||||
Assert.Equal(@"INSERT INTO [table1]([id], [name]) VALUES(1, 'xxxx'), (2, 'yyyy')", sql2);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void AppendData()
|
||||
{
|
||||
|
@ -30,6 +30,31 @@ namespace FreeSql.Tests.MySql
|
||||
}
|
||||
enum TestEnumInserTbType { str1, biggit, sum211 }
|
||||
|
||||
[Fact]
|
||||
public void InsertDictionary()
|
||||
{
|
||||
var fsql = g.mysql;
|
||||
Dictionary<string, object> dic = new Dictionary<string, object>();
|
||||
dic.Add("id", 1);
|
||||
dic.Add("name", "xxxx");
|
||||
var diclist = new List<Dictionary<string, object>>();
|
||||
diclist.Add(dic);
|
||||
diclist.Add(new Dictionary<string, object>
|
||||
{
|
||||
["id"] = 2,
|
||||
["name"] = "yyyy"
|
||||
});
|
||||
|
||||
var sql1 = fsql.Insert(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();
|
||||
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();
|
||||
Assert.Equal(@"INSERT INTO `table1`(`id`, `name`) VALUES(1, 'xxxx')", sql3);
|
||||
var sql4 = fsql.Insert(diclist).AsTable("table1").NoneParameter().ToSql();
|
||||
Assert.Equal(@"INSERT INTO `table1`(`id`, `name`) VALUES(1, 'xxxx'), (2, 'yyyy')", sql4);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void AppendData()
|
||||
{
|
||||
|
@ -22,6 +22,37 @@ namespace FreeSql.Tests.Oracle
|
||||
public DateTime CreateTime { get; set; }
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void InsertDictionary()
|
||||
{
|
||||
var fsql = g.oracle;
|
||||
Dictionary<string, object> dic = new Dictionary<string, object>();
|
||||
dic.Add("id", 1);
|
||||
dic.Add("name", "xxxx");
|
||||
var diclist = new List<Dictionary<string, object>>();
|
||||
diclist.Add(dic);
|
||||
diclist.Add(new Dictionary<string, object>
|
||||
{
|
||||
["id"] = 2,
|
||||
["name"] = "yyyy"
|
||||
});
|
||||
|
||||
var sql1 = fsql.Insert(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();
|
||||
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();
|
||||
Assert.Equal(@"INSERT INTO ""TABLE1""(""ID"", ""NAME"") VALUES(1, 'xxxx')", sql3);
|
||||
var sql4 = fsql.Insert(diclist).AsTable("table1").NoneParameter().ToSql();
|
||||
Assert.Equal(@"INSERT ALL
|
||||
INTO ""TABLE1""(""ID"", ""NAME"") VALUES(1, 'xxxx')
|
||||
INTO ""TABLE1""(""ID"", ""NAME"") VALUES(2, 'yyyy')
|
||||
SELECT 1 FROM DUAL", sql4);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void AppendData()
|
||||
{
|
||||
|
@ -22,6 +22,31 @@ namespace FreeSql.Tests.PostgreSQL
|
||||
public DateTime CreateTime { get; set; }
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void InsertDictionary()
|
||||
{
|
||||
var fsql = g.pgsql;
|
||||
Dictionary<string, object> dic = new Dictionary<string, object>();
|
||||
dic.Add("id", 1);
|
||||
dic.Add("name", "xxxx");
|
||||
var diclist = new List<Dictionary<string, object>>();
|
||||
diclist.Add(dic);
|
||||
diclist.Add(new Dictionary<string, object>
|
||||
{
|
||||
["id"] = 2,
|
||||
["name"] = "yyyy"
|
||||
});
|
||||
|
||||
var sql1 = fsql.Insert(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();
|
||||
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();
|
||||
Assert.Equal(@"INSERT INTO ""table1""(""id"", ""name"") VALUES(1, 'xxxx')", sql3);
|
||||
var sql4 = fsql.Insert(diclist).AsTable("table1").NoneParameter().ToSql();
|
||||
Assert.Equal(@"INSERT INTO ""table1""(""id"", ""name"") VALUES(1, 'xxxx'), (2, 'yyyy')", sql4);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void AppendData()
|
||||
{
|
||||
|
@ -22,6 +22,31 @@ namespace FreeSql.Tests.ShenTong
|
||||
public DateTime CreateTime { get; set; }
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void InsertDictionary()
|
||||
{
|
||||
var fsql = g.shentong;
|
||||
Dictionary<string, object> dic = new Dictionary<string, object>();
|
||||
dic.Add("id", 1);
|
||||
dic.Add("name", "xxxx");
|
||||
var diclist = new List<Dictionary<string, object>>();
|
||||
diclist.Add(dic);
|
||||
diclist.Add(new Dictionary<string, object>
|
||||
{
|
||||
["id"] = 2,
|
||||
["name"] = "yyyy"
|
||||
});
|
||||
|
||||
var sql1 = fsql.Insert(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();
|
||||
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();
|
||||
Assert.Equal(@"INSERT INTO ""TABLE1""(""ID"", ""NAME"") VALUES(1, 'xxxx')", sql3);
|
||||
var sql4 = fsql.Insert(diclist).AsTable("table1").NoneParameter().ToSql();
|
||||
Assert.Equal(@"INSERT INTO ""TABLE1""(""ID"", ""NAME"") VALUES(1, 'xxxx'), (2, 'yyyy')", sql4);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void AppendData()
|
||||
{
|
||||
|
@ -32,6 +32,31 @@ namespace FreeSql.Tests.SqlServer
|
||||
public DateTime CreateTime { get; set; }
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void InsertDictionary()
|
||||
{
|
||||
var fsql = g.sqlserver;
|
||||
Dictionary<string, object> dic = new Dictionary<string, object>();
|
||||
dic.Add("id", 1);
|
||||
dic.Add("name", "xxxx");
|
||||
var diclist = new List<Dictionary<string, object>>();
|
||||
diclist.Add(dic);
|
||||
diclist.Add(new Dictionary<string, object>
|
||||
{
|
||||
["id"] = 2,
|
||||
["name"] = "yyyy"
|
||||
});
|
||||
|
||||
var sql1 = fsql.Insert(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();
|
||||
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();
|
||||
Assert.Equal(@"INSERT INTO [table1]([id], [name]) VALUES(1, N'xxxx')", sql3);
|
||||
var sql4 = fsql.Insert(diclist).AsTable("table1").NoneParameter().ToSql();
|
||||
Assert.Equal(@"INSERT INTO [table1]([id], [name]) VALUES(1, N'xxxx'), (2, N'yyyy')", sql4);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void AppendData()
|
||||
{
|
||||
|
@ -22,6 +22,31 @@ namespace FreeSql.Tests.Sqlite
|
||||
public DateTime CreateTime { get; set; }
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void InsertDictionary()
|
||||
{
|
||||
var fsql = g.sqlite;
|
||||
Dictionary<string, object> dic = new Dictionary<string, object>();
|
||||
dic.Add("id", 1);
|
||||
dic.Add("name", "xxxx");
|
||||
var diclist = new List<Dictionary<string, object>>();
|
||||
diclist.Add(dic);
|
||||
diclist.Add(new Dictionary<string, object>
|
||||
{
|
||||
["id"] = 2,
|
||||
["name"] = "yyyy"
|
||||
});
|
||||
|
||||
var sql1 = fsql.Insert(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();
|
||||
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();
|
||||
Assert.Equal(@"INSERT INTO ""table1""(""id"", ""name"") VALUES(1, 'xxxx')", sql3);
|
||||
var sql4 = fsql.Insert(diclist).AsTable("table1").NoneParameter().ToSql();
|
||||
Assert.Equal(@"INSERT INTO ""table1""(""id"", ""name"") VALUES(1, 'xxxx'), (2, 'yyyy')", sql4);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void AppendData()
|
||||
{
|
||||
|
Reference in New Issue
Block a user