mirror of
https://github.com/nsnail/FreeSql.git
synced 2025-04-22 02:32:50 +08:00
update testcode
This commit is contained in:
parent
117568178e
commit
b9055018a0
@ -17,83 +17,27 @@ namespace FreeSql.Tests.Custom.MySql
|
|||||||
fsql.Delete<tbioudb02>().Where("1=1").ExecuteAffrows();
|
fsql.Delete<tbioudb02>().Where("1=1").ExecuteAffrows();
|
||||||
var iou = fsql.InsertOrUpdate<tbioudb02>().IfExistsDoNothing().SetSource(new tbioudb02 { id = 1, name = "01" });
|
var iou = fsql.InsertOrUpdate<tbioudb02>().IfExistsDoNothing().SetSource(new tbioudb02 { id = 1, name = "01" });
|
||||||
var sql = iou.ToSql();
|
var sql = iou.ToSql();
|
||||||
Assert.Equal(@"INSERT INTO `tbioudb02`(`id`, `name`) SELECT 1, '01'
|
Assert.Equal(@"INSERT IGNORE INTO `tbioudb02`(`id`, `name`) VALUES(1, '01')", sql);
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb02` a
|
|
||||||
WHERE (a.`id` = 1)
|
|
||||||
limit 0,1)", sql);
|
|
||||||
Assert.Equal(1, iou.ExecuteAffrows());
|
Assert.Equal(1, iou.ExecuteAffrows());
|
||||||
|
|
||||||
iou = fsql.InsertOrUpdate<tbioudb02>().IfExistsDoNothing().SetSource(new tbioudb02 { id = 1, name = "011" });
|
iou = fsql.InsertOrUpdate<tbioudb02>().IfExistsDoNothing().SetSource(new tbioudb02 { id = 1, name = "011" });
|
||||||
sql = iou.ToSql();
|
sql = iou.ToSql();
|
||||||
Assert.Equal(@"INSERT INTO `tbioudb02`(`id`, `name`) SELECT 1, '011'
|
Assert.Equal(@"INSERT IGNORE INTO `tbioudb02`(`id`, `name`) VALUES(1, '011')", sql);
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb02` a
|
|
||||||
WHERE (a.`id` = 1)
|
|
||||||
limit 0,1)", sql);
|
|
||||||
Assert.Equal(0, iou.ExecuteAffrows());
|
Assert.Equal(0, iou.ExecuteAffrows());
|
||||||
|
|
||||||
iou = fsql.InsertOrUpdate<tbioudb02>().IfExistsDoNothing().SetSource(new tbioudb02 { id = 2, name = "02" });
|
iou = fsql.InsertOrUpdate<tbioudb02>().IfExistsDoNothing().SetSource(new tbioudb02 { id = 2, name = "02" });
|
||||||
sql = iou.ToSql();
|
sql = iou.ToSql();
|
||||||
Assert.Equal(@"INSERT INTO `tbioudb02`(`id`, `name`) SELECT 2, '02'
|
Assert.Equal(@"INSERT IGNORE INTO `tbioudb02`(`id`, `name`) VALUES(2, '02')", sql);
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb02` a
|
|
||||||
WHERE (a.`id` = 2)
|
|
||||||
limit 0,1)", sql);
|
|
||||||
Assert.Equal(1, iou.ExecuteAffrows());
|
Assert.Equal(1, iou.ExecuteAffrows());
|
||||||
|
|
||||||
iou = fsql.InsertOrUpdate<tbioudb02>().IfExistsDoNothing().SetSource(new[] { new tbioudb02 { id = 1, name = "01" }, new tbioudb02 { id = 2, name = "02" }, new tbioudb02 { id = 3, name = "03" }, new tbioudb02 { id = 4, name = "04" } });
|
iou = fsql.InsertOrUpdate<tbioudb02>().IfExistsDoNothing().SetSource(new[] { new tbioudb02 { id = 1, name = "01" }, new tbioudb02 { id = 2, name = "02" }, new tbioudb02 { id = 3, name = "03" }, new tbioudb02 { id = 4, name = "04" } });
|
||||||
sql = iou.ToSql();
|
sql = iou.ToSql();
|
||||||
Assert.Equal(@"INSERT INTO `tbioudb02`(`id`, `name`) SELECT 1, '01'
|
Assert.Equal(@"INSERT IGNORE INTO `tbioudb02`(`id`, `name`) VALUES(1, '01'), (2, '02'), (3, '03'), (4, '04')", sql);
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb02` a
|
|
||||||
WHERE (a.`id` = 1)
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 2, '02'
|
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb02` a
|
|
||||||
WHERE (a.`id` = 2)
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 3, '03'
|
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb02` a
|
|
||||||
WHERE (a.`id` = 3)
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 4, '04'
|
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb02` a
|
|
||||||
WHERE (a.`id` = 4)
|
|
||||||
limit 0,1)", sql);
|
|
||||||
Assert.Equal(2, iou.ExecuteAffrows());
|
Assert.Equal(2, iou.ExecuteAffrows());
|
||||||
|
|
||||||
iou = fsql.InsertOrUpdate<tbioudb02>().IfExistsDoNothing().SetSource(new[] { new tbioudb02 { id = 1, name = "001" }, new tbioudb02 { id = 2, name = "002" }, new tbioudb02 { id = 3, name = "003" }, new tbioudb02 { id = 4, name = "004" } });
|
iou = fsql.InsertOrUpdate<tbioudb02>().IfExistsDoNothing().SetSource(new[] { new tbioudb02 { id = 1, name = "001" }, new tbioudb02 { id = 2, name = "002" }, new tbioudb02 { id = 3, name = "003" }, new tbioudb02 { id = 4, name = "004" } });
|
||||||
sql = iou.ToSql();
|
sql = iou.ToSql();
|
||||||
Assert.Equal(@"INSERT INTO `tbioudb02`(`id`, `name`) SELECT 1, '001'
|
Assert.Equal(@"INSERT IGNORE INTO `tbioudb02`(`id`, `name`) VALUES(1, '001'), (2, '002'), (3, '003'), (4, '004')", sql);
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb02` a
|
|
||||||
WHERE (a.`id` = 1)
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 2, '002'
|
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb02` a
|
|
||||||
WHERE (a.`id` = 2)
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 3, '003'
|
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb02` a
|
|
||||||
WHERE (a.`id` = 3)
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 4, '004'
|
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb02` a
|
|
||||||
WHERE (a.`id` = 4)
|
|
||||||
limit 0,1)", sql);
|
|
||||||
Assert.Equal(0, iou.ExecuteAffrows());
|
Assert.Equal(0, iou.ExecuteAffrows());
|
||||||
var lst = fsql.Select<tbioudb02>().Where(a => new[] { 1, 2, 3, 4 }.Contains(a.id)).ToList();
|
var lst = fsql.Select<tbioudb02>().Where(a => new[] { 1, 2, 3, 4 }.Contains(a.id)).ToList();
|
||||||
Assert.Equal(4, lst.Where(a => a.name == "0" + a.id).Count());
|
Assert.Equal(4, lst.Where(a => a.name == "0" + a.id).Count());
|
||||||
@ -109,83 +53,27 @@ UNION ALL
|
|||||||
fsql.Delete<tbioudb022>().Where("1=1").ExecuteAffrows();
|
fsql.Delete<tbioudb022>().Where("1=1").ExecuteAffrows();
|
||||||
var iou = fsql.InsertOrUpdate<tbioudb022>().IfExistsDoNothing().SetSource(new tbioudb022 { id = 1, name = "01" });
|
var iou = fsql.InsertOrUpdate<tbioudb022>().IfExistsDoNothing().SetSource(new tbioudb022 { id = 1, name = "01" });
|
||||||
var sql = iou.ToSql();
|
var sql = iou.ToSql();
|
||||||
Assert.Equal(@"INSERT INTO `tbioudb022`(`id`, `name`) SELECT 1, '01'
|
Assert.Equal(@"INSERT IGNORE INTO `tbioudb022`(`id`, `name`) VALUES(1, '01')", sql);
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb022` a
|
|
||||||
WHERE (a.`id` = 1)
|
|
||||||
limit 0,1)", sql);
|
|
||||||
Assert.Equal(1, iou.ExecuteAffrows());
|
Assert.Equal(1, iou.ExecuteAffrows());
|
||||||
|
|
||||||
iou = fsql.InsertOrUpdate<tbioudb022>().IfExistsDoNothing().SetSource(new tbioudb022 { id = 1, name = "011" });
|
iou = fsql.InsertOrUpdate<tbioudb022>().IfExistsDoNothing().SetSource(new tbioudb022 { id = 1, name = "011" });
|
||||||
sql = iou.ToSql();
|
sql = iou.ToSql();
|
||||||
Assert.Equal(@"INSERT INTO `tbioudb022`(`id`, `name`) SELECT 1, '011'
|
Assert.Equal(@"INSERT IGNORE INTO `tbioudb022`(`id`, `name`) VALUES(1, '011')", sql);
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb022` a
|
|
||||||
WHERE (a.`id` = 1)
|
|
||||||
limit 0,1)", sql);
|
|
||||||
Assert.Equal(0, iou.ExecuteAffrows());
|
Assert.Equal(0, iou.ExecuteAffrows());
|
||||||
|
|
||||||
iou = fsql.InsertOrUpdate<tbioudb022>().IfExistsDoNothing().SetSource(new tbioudb022 { id = 2, name = "02" });
|
iou = fsql.InsertOrUpdate<tbioudb022>().IfExistsDoNothing().SetSource(new tbioudb022 { id = 2, name = "02" });
|
||||||
sql = iou.ToSql();
|
sql = iou.ToSql();
|
||||||
Assert.Equal(@"INSERT INTO `tbioudb022`(`id`, `name`) SELECT 2, '02'
|
Assert.Equal(@"INSERT IGNORE INTO `tbioudb022`(`id`, `name`) VALUES(2, '02')", sql);
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb022` a
|
|
||||||
WHERE (a.`id` = 2)
|
|
||||||
limit 0,1)", sql);
|
|
||||||
Assert.Equal(1, iou.ExecuteAffrows());
|
Assert.Equal(1, iou.ExecuteAffrows());
|
||||||
|
|
||||||
iou = fsql.InsertOrUpdate<tbioudb022>().IfExistsDoNothing().SetSource(new[] { new tbioudb022 { id = 1, name = "01" }, new tbioudb022 { id = 2, name = "02" }, new tbioudb022 { id = 3, name = "03" }, new tbioudb022 { id = 4, name = "04" } });
|
iou = fsql.InsertOrUpdate<tbioudb022>().IfExistsDoNothing().SetSource(new[] { new tbioudb022 { id = 1, name = "01" }, new tbioudb022 { id = 2, name = "02" }, new tbioudb022 { id = 3, name = "03" }, new tbioudb022 { id = 4, name = "04" } });
|
||||||
sql = iou.ToSql();
|
sql = iou.ToSql();
|
||||||
Assert.Equal(@"INSERT INTO `tbioudb022`(`id`, `name`) SELECT 1, '01'
|
Assert.Equal(@"INSERT IGNORE INTO `tbioudb022`(`id`, `name`) VALUES(1, '01'), (2, '02'), (3, '03'), (4, '04')", sql);
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb022` a
|
|
||||||
WHERE (a.`id` = 1)
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 2, '02'
|
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb022` a
|
|
||||||
WHERE (a.`id` = 2)
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 3, '03'
|
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb022` a
|
|
||||||
WHERE (a.`id` = 3)
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 4, '04'
|
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb022` a
|
|
||||||
WHERE (a.`id` = 4)
|
|
||||||
limit 0,1)", sql);
|
|
||||||
Assert.Equal(2, iou.ExecuteAffrows());
|
Assert.Equal(2, iou.ExecuteAffrows());
|
||||||
|
|
||||||
iou = fsql.InsertOrUpdate<tbioudb022>().IfExistsDoNothing().SetSource(new[] { new tbioudb022 { id = 1, name = "001" }, new tbioudb022 { id = 2, name = "002" }, new tbioudb022 { id = 3, name = "003" }, new tbioudb022 { id = 4, name = "004" } });
|
iou = fsql.InsertOrUpdate<tbioudb022>().IfExistsDoNothing().SetSource(new[] { new tbioudb022 { id = 1, name = "001" }, new tbioudb022 { id = 2, name = "002" }, new tbioudb022 { id = 3, name = "003" }, new tbioudb022 { id = 4, name = "004" } });
|
||||||
sql = iou.ToSql();
|
sql = iou.ToSql();
|
||||||
Assert.Equal(@"INSERT INTO `tbioudb022`(`id`, `name`) SELECT 1, '001'
|
Assert.Equal(@"INSERT IGNORE INTO `tbioudb022`(`id`, `name`) VALUES(1, '001'), (2, '002'), (3, '003'), (4, '004')", sql);
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb022` a
|
|
||||||
WHERE (a.`id` = 1)
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 2, '002'
|
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb022` a
|
|
||||||
WHERE (a.`id` = 2)
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 3, '003'
|
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb022` a
|
|
||||||
WHERE (a.`id` = 3)
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 4, '004'
|
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb022` a
|
|
||||||
WHERE (a.`id` = 4)
|
|
||||||
limit 0,1)", sql);
|
|
||||||
Assert.Equal(0, iou.ExecuteAffrows());
|
Assert.Equal(0, iou.ExecuteAffrows());
|
||||||
var lst = fsql.Select<tbioudb022>().Where(a => new[] { 1, 2, 3, 4 }.Contains(a.id)).ToList();
|
var lst = fsql.Select<tbioudb022>().Where(a => new[] { 1, 2, 3, 4 }.Contains(a.id)).ToList();
|
||||||
Assert.Equal(4, lst.Where(a => a.name == "0" + a.id).Count());
|
Assert.Equal(4, lst.Where(a => a.name == "0" + a.id).Count());
|
||||||
@ -219,29 +107,7 @@ UNION ALL
|
|||||||
//--no primary and yes
|
//--no primary and yes
|
||||||
iou = fsql.InsertOrUpdate<tbioudb022>().IfExistsDoNothing().SetSource(new[] { new tbioudb022 { id = 1, name = "100001" }, new tbioudb022 { name = "00001" }, new tbioudb022 { id = 2, name = "100002" }, new tbioudb022 { name = "00002" }, new tbioudb022 { id = 3, name = "100003" }, new tbioudb022 { name = "00003" }, new tbioudb022 { id = 4, name = "100004" }, new tbioudb022 { name = "00004" } });
|
iou = fsql.InsertOrUpdate<tbioudb022>().IfExistsDoNothing().SetSource(new[] { new tbioudb022 { id = 1, name = "100001" }, new tbioudb022 { name = "00001" }, new tbioudb022 { id = 2, name = "100002" }, new tbioudb022 { name = "00002" }, new tbioudb022 { id = 3, name = "100003" }, new tbioudb022 { name = "00003" }, new tbioudb022 { id = 4, name = "100004" }, new tbioudb022 { name = "00004" } });
|
||||||
sql = iou.ToSql();
|
sql = iou.ToSql();
|
||||||
Assert.Equal(@"INSERT INTO `tbioudb022`(`id`, `name`) SELECT 1, '100001'
|
Assert.Equal(@"INSERT IGNORE INTO `tbioudb022`(`id`, `name`) VALUES(1, '100001'), (2, '100002'), (3, '100003'), (4, '100004')
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb022` a
|
|
||||||
WHERE (a.`id` = 1)
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 2, '100002'
|
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb022` a
|
|
||||||
WHERE (a.`id` = 2)
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 3, '100003'
|
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb022` a
|
|
||||||
WHERE (a.`id` = 3)
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 4, '100004'
|
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb022` a
|
|
||||||
WHERE (a.`id` = 4)
|
|
||||||
limit 0,1)
|
|
||||||
|
|
||||||
;
|
;
|
||||||
|
|
||||||
@ -263,83 +129,27 @@ INSERT INTO `tbioudb022`(`name`) VALUES('00001'), ('00002'), ('00003'), ('00004'
|
|||||||
fsql.Delete<tbioudb03>().Where("1=1").ExecuteAffrows();
|
fsql.Delete<tbioudb03>().Where("1=1").ExecuteAffrows();
|
||||||
var iou = fsql.InsertOrUpdate<tbioudb03>().IfExistsDoNothing().SetSource(new tbioudb03 { id1 = 1, id2 = "01", name = "01" });
|
var iou = fsql.InsertOrUpdate<tbioudb03>().IfExistsDoNothing().SetSource(new tbioudb03 { id1 = 1, id2 = "01", name = "01" });
|
||||||
var sql = iou.ToSql();
|
var sql = iou.ToSql();
|
||||||
Assert.Equal(@"INSERT INTO `tbioudb03`(`id1`, `id2`, `name`) SELECT 1, '01', '01'
|
Assert.Equal(@"INSERT IGNORE INTO `tbioudb03`(`id1`, `id2`, `name`) VALUES(1, '01', '01')", sql);
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb03` a
|
|
||||||
WHERE (a.`id1` = 1 AND a.`id2` = '01')
|
|
||||||
limit 0,1)", sql);
|
|
||||||
Assert.Equal(1, iou.ExecuteAffrows());
|
Assert.Equal(1, iou.ExecuteAffrows());
|
||||||
|
|
||||||
iou = fsql.InsertOrUpdate<tbioudb03>().IfExistsDoNothing().SetSource(new tbioudb03 { id1 = 1, id2 = "01", name = "011" });
|
iou = fsql.InsertOrUpdate<tbioudb03>().IfExistsDoNothing().SetSource(new tbioudb03 { id1 = 1, id2 = "01", name = "011" });
|
||||||
sql = iou.ToSql();
|
sql = iou.ToSql();
|
||||||
Assert.Equal(@"INSERT INTO `tbioudb03`(`id1`, `id2`, `name`) SELECT 1, '01', '011'
|
Assert.Equal(@"INSERT IGNORE INTO `tbioudb03`(`id1`, `id2`, `name`) VALUES(1, '01', '011')", sql);
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb03` a
|
|
||||||
WHERE (a.`id1` = 1 AND a.`id2` = '01')
|
|
||||||
limit 0,1)", sql);
|
|
||||||
Assert.Equal(0, iou.ExecuteAffrows());
|
Assert.Equal(0, iou.ExecuteAffrows());
|
||||||
|
|
||||||
iou = fsql.InsertOrUpdate<tbioudb03>().IfExistsDoNothing().SetSource(new tbioudb03 { id1 = 2, id2 = "02", name = "02" });
|
iou = fsql.InsertOrUpdate<tbioudb03>().IfExistsDoNothing().SetSource(new tbioudb03 { id1 = 2, id2 = "02", name = "02" });
|
||||||
sql = iou.ToSql();
|
sql = iou.ToSql();
|
||||||
Assert.Equal(@"INSERT INTO `tbioudb03`(`id1`, `id2`, `name`) SELECT 2, '02', '02'
|
Assert.Equal(@"INSERT IGNORE INTO `tbioudb03`(`id1`, `id2`, `name`) VALUES(2, '02', '02')", sql);
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb03` a
|
|
||||||
WHERE (a.`id1` = 2 AND a.`id2` = '02')
|
|
||||||
limit 0,1)", sql);
|
|
||||||
Assert.Equal(1, iou.ExecuteAffrows());
|
Assert.Equal(1, iou.ExecuteAffrows());
|
||||||
|
|
||||||
iou = fsql.InsertOrUpdate<tbioudb03>().IfExistsDoNothing().SetSource(new[] { new tbioudb03 { id1 = 1, id2 = "01", name = "01" }, new tbioudb03 { id1 = 2, id2 = "02", name = "02" }, new tbioudb03 { id1 = 3, id2 = "03", name = "03" }, new tbioudb03 { id1 = 4, id2 = "04", name = "04" } });
|
iou = fsql.InsertOrUpdate<tbioudb03>().IfExistsDoNothing().SetSource(new[] { new tbioudb03 { id1 = 1, id2 = "01", name = "01" }, new tbioudb03 { id1 = 2, id2 = "02", name = "02" }, new tbioudb03 { id1 = 3, id2 = "03", name = "03" }, new tbioudb03 { id1 = 4, id2 = "04", name = "04" } });
|
||||||
sql = iou.ToSql();
|
sql = iou.ToSql();
|
||||||
Assert.Equal(@"INSERT INTO `tbioudb03`(`id1`, `id2`, `name`) SELECT 1, '01', '01'
|
Assert.Equal(@"INSERT IGNORE INTO `tbioudb03`(`id1`, `id2`, `name`) VALUES(1, '01', '01'), (2, '02', '02'), (3, '03', '03'), (4, '04', '04')", sql);
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb03` a
|
|
||||||
WHERE (a.`id1` = 1 AND a.`id2` = '01')
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 2, '02', '02'
|
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb03` a
|
|
||||||
WHERE (a.`id1` = 2 AND a.`id2` = '02')
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 3, '03', '03'
|
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb03` a
|
|
||||||
WHERE (a.`id1` = 3 AND a.`id2` = '03')
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 4, '04', '04'
|
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb03` a
|
|
||||||
WHERE (a.`id1` = 4 AND a.`id2` = '04')
|
|
||||||
limit 0,1)", sql);
|
|
||||||
Assert.Equal(2, iou.ExecuteAffrows());
|
Assert.Equal(2, iou.ExecuteAffrows());
|
||||||
|
|
||||||
iou = fsql.InsertOrUpdate<tbioudb03>().IfExistsDoNothing().SetSource(new[] { new tbioudb03 { id1 = 1, id2 = "01", name = "001" }, new tbioudb03 { id1 = 2, id2 = "02", name = "002" }, new tbioudb03 { id1 = 3, id2 = "03", name = "003" }, new tbioudb03 { id1 = 4, id2 = "04", name = "004" } });
|
iou = fsql.InsertOrUpdate<tbioudb03>().IfExistsDoNothing().SetSource(new[] { new tbioudb03 { id1 = 1, id2 = "01", name = "001" }, new tbioudb03 { id1 = 2, id2 = "02", name = "002" }, new tbioudb03 { id1 = 3, id2 = "03", name = "003" }, new tbioudb03 { id1 = 4, id2 = "04", name = "004" } });
|
||||||
sql = iou.ToSql();
|
sql = iou.ToSql();
|
||||||
Assert.Equal(@"INSERT INTO `tbioudb03`(`id1`, `id2`, `name`) SELECT 1, '01', '001'
|
Assert.Equal(@"INSERT IGNORE INTO `tbioudb03`(`id1`, `id2`, `name`) VALUES(1, '01', '001'), (2, '02', '002'), (3, '03', '003'), (4, '04', '004')", sql);
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb03` a
|
|
||||||
WHERE (a.`id1` = 1 AND a.`id2` = '01')
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 2, '02', '002'
|
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb03` a
|
|
||||||
WHERE (a.`id1` = 2 AND a.`id2` = '02')
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 3, '03', '003'
|
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb03` a
|
|
||||||
WHERE (a.`id1` = 3 AND a.`id2` = '03')
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 4, '04', '004'
|
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb03` a
|
|
||||||
WHERE (a.`id1` = 4 AND a.`id2` = '04')
|
|
||||||
limit 0,1)", sql);
|
|
||||||
Assert.Equal(0, iou.ExecuteAffrows());
|
Assert.Equal(0, iou.ExecuteAffrows());
|
||||||
var lst = fsql.Select<tbioudb03>().Where(a => a.id1 == 1 && a.id2 == "01" || a.id1 == 2 && a.id2 == "02" || a.id1 == 3 && a.id2 == "03" || a.id1 == 4 && a.id2 == "04").ToList();
|
var lst = fsql.Select<tbioudb03>().Where(a => a.id1 == 1 && a.id2 == "01" || a.id1 == 2 && a.id2 == "02" || a.id1 == 3 && a.id2 == "03" || a.id1 == 4 && a.id2 == "04").ToList();
|
||||||
Assert.Equal(4, lst.Where(a => a.name == "0" + a.id1).Count());
|
Assert.Equal(4, lst.Where(a => a.name == "0" + a.id1).Count());
|
||||||
@ -359,83 +169,27 @@ UNION ALL
|
|||||||
fsql.Delete<tbioudb04>().Where("1=1").ExecuteAffrows();
|
fsql.Delete<tbioudb04>().Where("1=1").ExecuteAffrows();
|
||||||
var iou = fsql.InsertOrUpdate<tbioudb04>().IfExistsDoNothing().SetSource(new tbioudb04 { id = 1, name = "01" });
|
var iou = fsql.InsertOrUpdate<tbioudb04>().IfExistsDoNothing().SetSource(new tbioudb04 { id = 1, name = "01" });
|
||||||
var sql = iou.ToSql();
|
var sql = iou.ToSql();
|
||||||
Assert.Equal(@"INSERT INTO `tbioudb04`(`id`, `name`, `version`, `CreateTime`) SELECT 1, '01', 0, now(3)
|
Assert.Equal(@"INSERT IGNORE INTO `tbioudb04`(`id`, `name`, `version`, `CreateTime`) VALUES(1, '01', 0, now(3))", sql);
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb04` a
|
|
||||||
WHERE (a.`id` = 1)
|
|
||||||
limit 0,1)", sql);
|
|
||||||
Assert.Equal(1, iou.ExecuteAffrows());
|
Assert.Equal(1, iou.ExecuteAffrows());
|
||||||
|
|
||||||
iou = fsql.InsertOrUpdate<tbioudb04>().IfExistsDoNothing().SetSource(new tbioudb04 { id = 1, name = "011" });
|
iou = fsql.InsertOrUpdate<tbioudb04>().IfExistsDoNothing().SetSource(new tbioudb04 { id = 1, name = "011" });
|
||||||
sql = iou.ToSql();
|
sql = iou.ToSql();
|
||||||
Assert.Equal(@"INSERT INTO `tbioudb04`(`id`, `name`, `version`, `CreateTime`) SELECT 1, '011', 0, now(3)
|
Assert.Equal(@"INSERT IGNORE INTO `tbioudb04`(`id`, `name`, `version`, `CreateTime`) VALUES(1, '011', 0, now(3))", sql);
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb04` a
|
|
||||||
WHERE (a.`id` = 1)
|
|
||||||
limit 0,1)", sql);
|
|
||||||
Assert.Equal(0, iou.ExecuteAffrows());
|
Assert.Equal(0, iou.ExecuteAffrows());
|
||||||
|
|
||||||
iou = fsql.InsertOrUpdate<tbioudb04>().IfExistsDoNothing().SetSource(new tbioudb04 { id = 2, name = "02" });
|
iou = fsql.InsertOrUpdate<tbioudb04>().IfExistsDoNothing().SetSource(new tbioudb04 { id = 2, name = "02" });
|
||||||
sql = iou.ToSql();
|
sql = iou.ToSql();
|
||||||
Assert.Equal(@"INSERT INTO `tbioudb04`(`id`, `name`, `version`, `CreateTime`) SELECT 2, '02', 0, now(3)
|
Assert.Equal(@"INSERT IGNORE INTO `tbioudb04`(`id`, `name`, `version`, `CreateTime`) VALUES(2, '02', 0, now(3))", sql);
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb04` a
|
|
||||||
WHERE (a.`id` = 2)
|
|
||||||
limit 0,1)", sql);
|
|
||||||
Assert.Equal(1, iou.ExecuteAffrows());
|
Assert.Equal(1, iou.ExecuteAffrows());
|
||||||
|
|
||||||
iou = fsql.InsertOrUpdate<tbioudb04>().IfExistsDoNothing().SetSource(new[] { new tbioudb04 { id = 1, name = "01" }, new tbioudb04 { id = 2, name = "02" }, new tbioudb04 { id = 3, name = "03" }, new tbioudb04 { id = 4, name = "04" } });
|
iou = fsql.InsertOrUpdate<tbioudb04>().IfExistsDoNothing().SetSource(new[] { new tbioudb04 { id = 1, name = "01" }, new tbioudb04 { id = 2, name = "02" }, new tbioudb04 { id = 3, name = "03" }, new tbioudb04 { id = 4, name = "04" } });
|
||||||
sql = iou.ToSql();
|
sql = iou.ToSql();
|
||||||
Assert.Equal(@"INSERT INTO `tbioudb04`(`id`, `name`, `version`, `CreateTime`) SELECT 1, '01', 0, now(3)
|
Assert.Equal(@"INSERT IGNORE INTO `tbioudb04`(`id`, `name`, `version`, `CreateTime`) VALUES(1, '01', 0, now(3)), (2, '02', 0, now(3)), (3, '03', 0, now(3)), (4, '04', 0, now(3))", sql);
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb04` a
|
|
||||||
WHERE (a.`id` = 1)
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 2, '02', 0, now(3)
|
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb04` a
|
|
||||||
WHERE (a.`id` = 2)
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 3, '03', 0, now(3)
|
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb04` a
|
|
||||||
WHERE (a.`id` = 3)
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 4, '04', 0, now(3)
|
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb04` a
|
|
||||||
WHERE (a.`id` = 4)
|
|
||||||
limit 0,1)", sql);
|
|
||||||
Assert.Equal(2, iou.ExecuteAffrows());
|
Assert.Equal(2, iou.ExecuteAffrows());
|
||||||
|
|
||||||
iou = fsql.InsertOrUpdate<tbioudb04>().IfExistsDoNothing().SetSource(new[] { new tbioudb04 { id = 1, name = "001" }, new tbioudb04 { id = 2, name = "002" }, new tbioudb04 { id = 3, name = "003" }, new tbioudb04 { id = 4, name = "004" } });
|
iou = fsql.InsertOrUpdate<tbioudb04>().IfExistsDoNothing().SetSource(new[] { new tbioudb04 { id = 1, name = "001" }, new tbioudb04 { id = 2, name = "002" }, new tbioudb04 { id = 3, name = "003" }, new tbioudb04 { id = 4, name = "004" } });
|
||||||
sql = iou.ToSql();
|
sql = iou.ToSql();
|
||||||
Assert.Equal(@"INSERT INTO `tbioudb04`(`id`, `name`, `version`, `CreateTime`) SELECT 1, '001', 0, now(3)
|
Assert.Equal(@"INSERT IGNORE INTO `tbioudb04`(`id`, `name`, `version`, `CreateTime`) VALUES(1, '001', 0, now(3)), (2, '002', 0, now(3)), (3, '003', 0, now(3)), (4, '004', 0, now(3))", sql);
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb04` a
|
|
||||||
WHERE (a.`id` = 1)
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 2, '002', 0, now(3)
|
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb04` a
|
|
||||||
WHERE (a.`id` = 2)
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 3, '003', 0, now(3)
|
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb04` a
|
|
||||||
WHERE (a.`id` = 3)
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 4, '004', 0, now(3)
|
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb04` a
|
|
||||||
WHERE (a.`id` = 4)
|
|
||||||
limit 0,1)", sql);
|
|
||||||
Assert.Equal(0, iou.ExecuteAffrows());
|
Assert.Equal(0, iou.ExecuteAffrows());
|
||||||
var lst = fsql.Select<tbioudb04>().Where(a => new[] { 1, 2, 3, 4 }.Contains(a.id)).ToList();
|
var lst = fsql.Select<tbioudb04>().Where(a => new[] { 1, 2, 3, 4 }.Contains(a.id)).ToList();
|
||||||
Assert.Equal(4, lst.Where(a => a.name == "0" + a.id).Count());
|
Assert.Equal(4, lst.Where(a => a.name == "0" + a.id).Count());
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
using FreeSql.DataAnnotations;
|
using FreeSql.DataAnnotations;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
@ -17,83 +17,27 @@ namespace FreeSql.Tests.MySqlConnector
|
|||||||
fsql.Delete<tbioudb02>().Where("1=1").ExecuteAffrows();
|
fsql.Delete<tbioudb02>().Where("1=1").ExecuteAffrows();
|
||||||
var iou = fsql.InsertOrUpdate<tbioudb02>().IfExistsDoNothing().SetSource(new tbioudb02 { id = 1, name = "01" });
|
var iou = fsql.InsertOrUpdate<tbioudb02>().IfExistsDoNothing().SetSource(new tbioudb02 { id = 1, name = "01" });
|
||||||
var sql = iou.ToSql();
|
var sql = iou.ToSql();
|
||||||
Assert.Equal(@"INSERT INTO `tbioudb02`(`id`, `name`) SELECT 1, '01'
|
Assert.Equal(@"INSERT IGNORE INTO `tbioudb02`(`id`, `name`) VALUES(1, '01')", sql);
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb02` a
|
|
||||||
WHERE (a.`id` = 1)
|
|
||||||
limit 0,1)", sql);
|
|
||||||
Assert.Equal(1, iou.ExecuteAffrows());
|
Assert.Equal(1, iou.ExecuteAffrows());
|
||||||
|
|
||||||
iou = fsql.InsertOrUpdate<tbioudb02>().IfExistsDoNothing().SetSource(new tbioudb02 { id = 1, name = "011" });
|
iou = fsql.InsertOrUpdate<tbioudb02>().IfExistsDoNothing().SetSource(new tbioudb02 { id = 1, name = "011" });
|
||||||
sql = iou.ToSql();
|
sql = iou.ToSql();
|
||||||
Assert.Equal(@"INSERT INTO `tbioudb02`(`id`, `name`) SELECT 1, '011'
|
Assert.Equal(@"INSERT IGNORE INTO `tbioudb02`(`id`, `name`) VALUES(1, '011')", sql);
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb02` a
|
|
||||||
WHERE (a.`id` = 1)
|
|
||||||
limit 0,1)", sql);
|
|
||||||
Assert.Equal(0, iou.ExecuteAffrows());
|
Assert.Equal(0, iou.ExecuteAffrows());
|
||||||
|
|
||||||
iou = fsql.InsertOrUpdate<tbioudb02>().IfExistsDoNothing().SetSource(new tbioudb02 { id = 2, name = "02" });
|
iou = fsql.InsertOrUpdate<tbioudb02>().IfExistsDoNothing().SetSource(new tbioudb02 { id = 2, name = "02" });
|
||||||
sql = iou.ToSql();
|
sql = iou.ToSql();
|
||||||
Assert.Equal(@"INSERT INTO `tbioudb02`(`id`, `name`) SELECT 2, '02'
|
Assert.Equal(@"INSERT IGNORE INTO `tbioudb02`(`id`, `name`) VALUES(2, '02')", sql);
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb02` a
|
|
||||||
WHERE (a.`id` = 2)
|
|
||||||
limit 0,1)", sql);
|
|
||||||
Assert.Equal(1, iou.ExecuteAffrows());
|
Assert.Equal(1, iou.ExecuteAffrows());
|
||||||
|
|
||||||
iou = fsql.InsertOrUpdate<tbioudb02>().IfExistsDoNothing().SetSource(new[] { new tbioudb02 { id = 1, name = "01" }, new tbioudb02 { id = 2, name = "02" }, new tbioudb02 { id = 3, name = "03" }, new tbioudb02 { id = 4, name = "04" } });
|
iou = fsql.InsertOrUpdate<tbioudb02>().IfExistsDoNothing().SetSource(new[] { new tbioudb02 { id = 1, name = "01" }, new tbioudb02 { id = 2, name = "02" }, new tbioudb02 { id = 3, name = "03" }, new tbioudb02 { id = 4, name = "04" } });
|
||||||
sql = iou.ToSql();
|
sql = iou.ToSql();
|
||||||
Assert.Equal(@"INSERT INTO `tbioudb02`(`id`, `name`) SELECT 1, '01'
|
Assert.Equal(@"INSERT IGNORE INTO `tbioudb02`(`id`, `name`) VALUES(1, '01'), (2, '02'), (3, '03'), (4, '04')", sql);
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb02` a
|
|
||||||
WHERE (a.`id` = 1)
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 2, '02'
|
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb02` a
|
|
||||||
WHERE (a.`id` = 2)
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 3, '03'
|
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb02` a
|
|
||||||
WHERE (a.`id` = 3)
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 4, '04'
|
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb02` a
|
|
||||||
WHERE (a.`id` = 4)
|
|
||||||
limit 0,1)", sql);
|
|
||||||
Assert.Equal(2, iou.ExecuteAffrows());
|
Assert.Equal(2, iou.ExecuteAffrows());
|
||||||
|
|
||||||
iou = fsql.InsertOrUpdate<tbioudb02>().IfExistsDoNothing().SetSource(new[] { new tbioudb02 { id = 1, name = "001" }, new tbioudb02 { id = 2, name = "002" }, new tbioudb02 { id = 3, name = "003" }, new tbioudb02 { id = 4, name = "004" } });
|
iou = fsql.InsertOrUpdate<tbioudb02>().IfExistsDoNothing().SetSource(new[] { new tbioudb02 { id = 1, name = "001" }, new tbioudb02 { id = 2, name = "002" }, new tbioudb02 { id = 3, name = "003" }, new tbioudb02 { id = 4, name = "004" } });
|
||||||
sql = iou.ToSql();
|
sql = iou.ToSql();
|
||||||
Assert.Equal(@"INSERT INTO `tbioudb02`(`id`, `name`) SELECT 1, '001'
|
Assert.Equal(@"INSERT IGNORE INTO `tbioudb02`(`id`, `name`) VALUES(1, '001'), (2, '002'), (3, '003'), (4, '004')", sql);
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb02` a
|
|
||||||
WHERE (a.`id` = 1)
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 2, '002'
|
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb02` a
|
|
||||||
WHERE (a.`id` = 2)
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 3, '003'
|
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb02` a
|
|
||||||
WHERE (a.`id` = 3)
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 4, '004'
|
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb02` a
|
|
||||||
WHERE (a.`id` = 4)
|
|
||||||
limit 0,1)", sql);
|
|
||||||
Assert.Equal(0, iou.ExecuteAffrows());
|
Assert.Equal(0, iou.ExecuteAffrows());
|
||||||
var lst = fsql.Select<tbioudb02>().Where(a => new[] { 1, 2, 3, 4 }.Contains(a.id)).ToList();
|
var lst = fsql.Select<tbioudb02>().Where(a => new[] { 1, 2, 3, 4 }.Contains(a.id)).ToList();
|
||||||
Assert.Equal(4, lst.Where(a => a.name == "0" + a.id).Count());
|
Assert.Equal(4, lst.Where(a => a.name == "0" + a.id).Count());
|
||||||
@ -109,83 +53,27 @@ UNION ALL
|
|||||||
fsql.Delete<tbioudb022>().Where("1=1").ExecuteAffrows();
|
fsql.Delete<tbioudb022>().Where("1=1").ExecuteAffrows();
|
||||||
var iou = fsql.InsertOrUpdate<tbioudb022>().IfExistsDoNothing().SetSource(new tbioudb022 { id = 1, name = "01" });
|
var iou = fsql.InsertOrUpdate<tbioudb022>().IfExistsDoNothing().SetSource(new tbioudb022 { id = 1, name = "01" });
|
||||||
var sql = iou.ToSql();
|
var sql = iou.ToSql();
|
||||||
Assert.Equal(@"INSERT INTO `tbioudb022`(`id`, `name`) SELECT 1, '01'
|
Assert.Equal(@"INSERT IGNORE INTO `tbioudb022`(`id`, `name`) VALUES(1, '01')", sql);
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb022` a
|
|
||||||
WHERE (a.`id` = 1)
|
|
||||||
limit 0,1)", sql);
|
|
||||||
Assert.Equal(1, iou.ExecuteAffrows());
|
Assert.Equal(1, iou.ExecuteAffrows());
|
||||||
|
|
||||||
iou = fsql.InsertOrUpdate<tbioudb022>().IfExistsDoNothing().SetSource(new tbioudb022 { id = 1, name = "011" });
|
iou = fsql.InsertOrUpdate<tbioudb022>().IfExistsDoNothing().SetSource(new tbioudb022 { id = 1, name = "011" });
|
||||||
sql = iou.ToSql();
|
sql = iou.ToSql();
|
||||||
Assert.Equal(@"INSERT INTO `tbioudb022`(`id`, `name`) SELECT 1, '011'
|
Assert.Equal(@"INSERT IGNORE INTO `tbioudb022`(`id`, `name`) VALUES(1, '011')", sql);
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb022` a
|
|
||||||
WHERE (a.`id` = 1)
|
|
||||||
limit 0,1)", sql);
|
|
||||||
Assert.Equal(0, iou.ExecuteAffrows());
|
Assert.Equal(0, iou.ExecuteAffrows());
|
||||||
|
|
||||||
iou = fsql.InsertOrUpdate<tbioudb022>().IfExistsDoNothing().SetSource(new tbioudb022 { id = 2, name = "02" });
|
iou = fsql.InsertOrUpdate<tbioudb022>().IfExistsDoNothing().SetSource(new tbioudb022 { id = 2, name = "02" });
|
||||||
sql = iou.ToSql();
|
sql = iou.ToSql();
|
||||||
Assert.Equal(@"INSERT INTO `tbioudb022`(`id`, `name`) SELECT 2, '02'
|
Assert.Equal(@"INSERT IGNORE INTO `tbioudb022`(`id`, `name`) VALUES(2, '02')", sql);
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb022` a
|
|
||||||
WHERE (a.`id` = 2)
|
|
||||||
limit 0,1)", sql);
|
|
||||||
Assert.Equal(1, iou.ExecuteAffrows());
|
Assert.Equal(1, iou.ExecuteAffrows());
|
||||||
|
|
||||||
iou = fsql.InsertOrUpdate<tbioudb022>().IfExistsDoNothing().SetSource(new[] { new tbioudb022 { id = 1, name = "01" }, new tbioudb022 { id = 2, name = "02" }, new tbioudb022 { id = 3, name = "03" }, new tbioudb022 { id = 4, name = "04" } });
|
iou = fsql.InsertOrUpdate<tbioudb022>().IfExistsDoNothing().SetSource(new[] { new tbioudb022 { id = 1, name = "01" }, new tbioudb022 { id = 2, name = "02" }, new tbioudb022 { id = 3, name = "03" }, new tbioudb022 { id = 4, name = "04" } });
|
||||||
sql = iou.ToSql();
|
sql = iou.ToSql();
|
||||||
Assert.Equal(@"INSERT INTO `tbioudb022`(`id`, `name`) SELECT 1, '01'
|
Assert.Equal(@"INSERT IGNORE INTO `tbioudb022`(`id`, `name`) VALUES(1, '01'), (2, '02'), (3, '03'), (4, '04')", sql);
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb022` a
|
|
||||||
WHERE (a.`id` = 1)
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 2, '02'
|
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb022` a
|
|
||||||
WHERE (a.`id` = 2)
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 3, '03'
|
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb022` a
|
|
||||||
WHERE (a.`id` = 3)
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 4, '04'
|
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb022` a
|
|
||||||
WHERE (a.`id` = 4)
|
|
||||||
limit 0,1)", sql);
|
|
||||||
Assert.Equal(2, iou.ExecuteAffrows());
|
Assert.Equal(2, iou.ExecuteAffrows());
|
||||||
|
|
||||||
iou = fsql.InsertOrUpdate<tbioudb022>().IfExistsDoNothing().SetSource(new[] { new tbioudb022 { id = 1, name = "001" }, new tbioudb022 { id = 2, name = "002" }, new tbioudb022 { id = 3, name = "003" }, new tbioudb022 { id = 4, name = "004" } });
|
iou = fsql.InsertOrUpdate<tbioudb022>().IfExistsDoNothing().SetSource(new[] { new tbioudb022 { id = 1, name = "001" }, new tbioudb022 { id = 2, name = "002" }, new tbioudb022 { id = 3, name = "003" }, new tbioudb022 { id = 4, name = "004" } });
|
||||||
sql = iou.ToSql();
|
sql = iou.ToSql();
|
||||||
Assert.Equal(@"INSERT INTO `tbioudb022`(`id`, `name`) SELECT 1, '001'
|
Assert.Equal(@"INSERT IGNORE INTO `tbioudb022`(`id`, `name`) VALUES(1, '001'), (2, '002'), (3, '003'), (4, '004')", sql);
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb022` a
|
|
||||||
WHERE (a.`id` = 1)
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 2, '002'
|
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb022` a
|
|
||||||
WHERE (a.`id` = 2)
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 3, '003'
|
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb022` a
|
|
||||||
WHERE (a.`id` = 3)
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 4, '004'
|
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb022` a
|
|
||||||
WHERE (a.`id` = 4)
|
|
||||||
limit 0,1)", sql);
|
|
||||||
Assert.Equal(0, iou.ExecuteAffrows());
|
Assert.Equal(0, iou.ExecuteAffrows());
|
||||||
var lst = fsql.Select<tbioudb022>().Where(a => new[] { 1, 2, 3, 4 }.Contains(a.id)).ToList();
|
var lst = fsql.Select<tbioudb022>().Where(a => new[] { 1, 2, 3, 4 }.Contains(a.id)).ToList();
|
||||||
Assert.Equal(4, lst.Where(a => a.name == "0" + a.id).Count());
|
Assert.Equal(4, lst.Where(a => a.name == "0" + a.id).Count());
|
||||||
@ -219,29 +107,7 @@ UNION ALL
|
|||||||
//--no primary and yes
|
//--no primary and yes
|
||||||
iou = fsql.InsertOrUpdate<tbioudb022>().IfExistsDoNothing().SetSource(new[] { new tbioudb022 { id = 1, name = "100001" }, new tbioudb022 { name = "00001" }, new tbioudb022 { id = 2, name = "100002" }, new tbioudb022 { name = "00002" }, new tbioudb022 { id = 3, name = "100003" }, new tbioudb022 { name = "00003" }, new tbioudb022 { id = 4, name = "100004" }, new tbioudb022 { name = "00004" } });
|
iou = fsql.InsertOrUpdate<tbioudb022>().IfExistsDoNothing().SetSource(new[] { new tbioudb022 { id = 1, name = "100001" }, new tbioudb022 { name = "00001" }, new tbioudb022 { id = 2, name = "100002" }, new tbioudb022 { name = "00002" }, new tbioudb022 { id = 3, name = "100003" }, new tbioudb022 { name = "00003" }, new tbioudb022 { id = 4, name = "100004" }, new tbioudb022 { name = "00004" } });
|
||||||
sql = iou.ToSql();
|
sql = iou.ToSql();
|
||||||
Assert.Equal(@"INSERT INTO `tbioudb022`(`id`, `name`) SELECT 1, '100001'
|
Assert.Equal(@"INSERT IGNORE INTO `tbioudb022`(`id`, `name`) VALUES(1, '100001'), (2, '100002'), (3, '100003'), (4, '100004')
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb022` a
|
|
||||||
WHERE (a.`id` = 1)
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 2, '100002'
|
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb022` a
|
|
||||||
WHERE (a.`id` = 2)
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 3, '100003'
|
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb022` a
|
|
||||||
WHERE (a.`id` = 3)
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 4, '100004'
|
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb022` a
|
|
||||||
WHERE (a.`id` = 4)
|
|
||||||
limit 0,1)
|
|
||||||
|
|
||||||
;
|
;
|
||||||
|
|
||||||
@ -263,83 +129,27 @@ INSERT INTO `tbioudb022`(`name`) VALUES('00001'), ('00002'), ('00003'), ('00004'
|
|||||||
fsql.Delete<tbioudb03>().Where("1=1").ExecuteAffrows();
|
fsql.Delete<tbioudb03>().Where("1=1").ExecuteAffrows();
|
||||||
var iou = fsql.InsertOrUpdate<tbioudb03>().IfExistsDoNothing().SetSource(new tbioudb03 { id1 = 1, id2 = "01", name = "01" });
|
var iou = fsql.InsertOrUpdate<tbioudb03>().IfExistsDoNothing().SetSource(new tbioudb03 { id1 = 1, id2 = "01", name = "01" });
|
||||||
var sql = iou.ToSql();
|
var sql = iou.ToSql();
|
||||||
Assert.Equal(@"INSERT INTO `tbioudb03`(`id1`, `id2`, `name`) SELECT 1, '01', '01'
|
Assert.Equal(@"INSERT IGNORE INTO `tbioudb03`(`id1`, `id2`, `name`) VALUES(1, '01', '01')", sql);
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb03` a
|
|
||||||
WHERE (a.`id1` = 1 AND a.`id2` = '01')
|
|
||||||
limit 0,1)", sql);
|
|
||||||
Assert.Equal(1, iou.ExecuteAffrows());
|
Assert.Equal(1, iou.ExecuteAffrows());
|
||||||
|
|
||||||
iou = fsql.InsertOrUpdate<tbioudb03>().IfExistsDoNothing().SetSource(new tbioudb03 { id1 = 1, id2 = "01", name = "011" });
|
iou = fsql.InsertOrUpdate<tbioudb03>().IfExistsDoNothing().SetSource(new tbioudb03 { id1 = 1, id2 = "01", name = "011" });
|
||||||
sql = iou.ToSql();
|
sql = iou.ToSql();
|
||||||
Assert.Equal(@"INSERT INTO `tbioudb03`(`id1`, `id2`, `name`) SELECT 1, '01', '011'
|
Assert.Equal(@"INSERT IGNORE INTO `tbioudb03`(`id1`, `id2`, `name`) VALUES(1, '01', '011')", sql);
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb03` a
|
|
||||||
WHERE (a.`id1` = 1 AND a.`id2` = '01')
|
|
||||||
limit 0,1)", sql);
|
|
||||||
Assert.Equal(0, iou.ExecuteAffrows());
|
Assert.Equal(0, iou.ExecuteAffrows());
|
||||||
|
|
||||||
iou = fsql.InsertOrUpdate<tbioudb03>().IfExistsDoNothing().SetSource(new tbioudb03 { id1 = 2, id2 = "02", name = "02" });
|
iou = fsql.InsertOrUpdate<tbioudb03>().IfExistsDoNothing().SetSource(new tbioudb03 { id1 = 2, id2 = "02", name = "02" });
|
||||||
sql = iou.ToSql();
|
sql = iou.ToSql();
|
||||||
Assert.Equal(@"INSERT INTO `tbioudb03`(`id1`, `id2`, `name`) SELECT 2, '02', '02'
|
Assert.Equal(@"INSERT IGNORE INTO `tbioudb03`(`id1`, `id2`, `name`) VALUES(2, '02', '02')", sql);
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb03` a
|
|
||||||
WHERE (a.`id1` = 2 AND a.`id2` = '02')
|
|
||||||
limit 0,1)", sql);
|
|
||||||
Assert.Equal(1, iou.ExecuteAffrows());
|
Assert.Equal(1, iou.ExecuteAffrows());
|
||||||
|
|
||||||
iou = fsql.InsertOrUpdate<tbioudb03>().IfExistsDoNothing().SetSource(new[] { new tbioudb03 { id1 = 1, id2 = "01", name = "01" }, new tbioudb03 { id1 = 2, id2 = "02", name = "02" }, new tbioudb03 { id1 = 3, id2 = "03", name = "03" }, new tbioudb03 { id1 = 4, id2 = "04", name = "04" } });
|
iou = fsql.InsertOrUpdate<tbioudb03>().IfExistsDoNothing().SetSource(new[] { new tbioudb03 { id1 = 1, id2 = "01", name = "01" }, new tbioudb03 { id1 = 2, id2 = "02", name = "02" }, new tbioudb03 { id1 = 3, id2 = "03", name = "03" }, new tbioudb03 { id1 = 4, id2 = "04", name = "04" } });
|
||||||
sql = iou.ToSql();
|
sql = iou.ToSql();
|
||||||
Assert.Equal(@"INSERT INTO `tbioudb03`(`id1`, `id2`, `name`) SELECT 1, '01', '01'
|
Assert.Equal(@"INSERT IGNORE INTO `tbioudb03`(`id1`, `id2`, `name`) VALUES(1, '01', '01'), (2, '02', '02'), (3, '03', '03'), (4, '04', '04')", sql);
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb03` a
|
|
||||||
WHERE (a.`id1` = 1 AND a.`id2` = '01')
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 2, '02', '02'
|
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb03` a
|
|
||||||
WHERE (a.`id1` = 2 AND a.`id2` = '02')
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 3, '03', '03'
|
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb03` a
|
|
||||||
WHERE (a.`id1` = 3 AND a.`id2` = '03')
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 4, '04', '04'
|
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb03` a
|
|
||||||
WHERE (a.`id1` = 4 AND a.`id2` = '04')
|
|
||||||
limit 0,1)", sql);
|
|
||||||
Assert.Equal(2, iou.ExecuteAffrows());
|
Assert.Equal(2, iou.ExecuteAffrows());
|
||||||
|
|
||||||
iou = fsql.InsertOrUpdate<tbioudb03>().IfExistsDoNothing().SetSource(new[] { new tbioudb03 { id1 = 1, id2 = "01", name = "001" }, new tbioudb03 { id1 = 2, id2 = "02", name = "002" }, new tbioudb03 { id1 = 3, id2 = "03", name = "003" }, new tbioudb03 { id1 = 4, id2 = "04", name = "004" } });
|
iou = fsql.InsertOrUpdate<tbioudb03>().IfExistsDoNothing().SetSource(new[] { new tbioudb03 { id1 = 1, id2 = "01", name = "001" }, new tbioudb03 { id1 = 2, id2 = "02", name = "002" }, new tbioudb03 { id1 = 3, id2 = "03", name = "003" }, new tbioudb03 { id1 = 4, id2 = "04", name = "004" } });
|
||||||
sql = iou.ToSql();
|
sql = iou.ToSql();
|
||||||
Assert.Equal(@"INSERT INTO `tbioudb03`(`id1`, `id2`, `name`) SELECT 1, '01', '001'
|
Assert.Equal(@"INSERT IGNORE INTO `tbioudb03`(`id1`, `id2`, `name`) VALUES(1, '01', '001'), (2, '02', '002'), (3, '03', '003'), (4, '04', '004')", sql);
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb03` a
|
|
||||||
WHERE (a.`id1` = 1 AND a.`id2` = '01')
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 2, '02', '002'
|
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb03` a
|
|
||||||
WHERE (a.`id1` = 2 AND a.`id2` = '02')
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 3, '03', '003'
|
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb03` a
|
|
||||||
WHERE (a.`id1` = 3 AND a.`id2` = '03')
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 4, '04', '004'
|
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb03` a
|
|
||||||
WHERE (a.`id1` = 4 AND a.`id2` = '04')
|
|
||||||
limit 0,1)", sql);
|
|
||||||
Assert.Equal(0, iou.ExecuteAffrows());
|
Assert.Equal(0, iou.ExecuteAffrows());
|
||||||
var lst = fsql.Select<tbioudb03>().Where(a => a.id1 == 1 && a.id2 == "01" || a.id1 == 2 && a.id2 == "02" || a.id1 == 3 && a.id2 == "03" || a.id1 == 4 && a.id2 == "04").ToList();
|
var lst = fsql.Select<tbioudb03>().Where(a => a.id1 == 1 && a.id2 == "01" || a.id1 == 2 && a.id2 == "02" || a.id1 == 3 && a.id2 == "03" || a.id1 == 4 && a.id2 == "04").ToList();
|
||||||
Assert.Equal(4, lst.Where(a => a.name == "0" + a.id1).Count());
|
Assert.Equal(4, lst.Where(a => a.name == "0" + a.id1).Count());
|
||||||
@ -359,83 +169,27 @@ UNION ALL
|
|||||||
fsql.Delete<tbioudb04>().Where("1=1").ExecuteAffrows();
|
fsql.Delete<tbioudb04>().Where("1=1").ExecuteAffrows();
|
||||||
var iou = fsql.InsertOrUpdate<tbioudb04>().IfExistsDoNothing().SetSource(new tbioudb04 { id = 1, name = "01" });
|
var iou = fsql.InsertOrUpdate<tbioudb04>().IfExistsDoNothing().SetSource(new tbioudb04 { id = 1, name = "01" });
|
||||||
var sql = iou.ToSql();
|
var sql = iou.ToSql();
|
||||||
Assert.Equal(@"INSERT INTO `tbioudb04`(`id`, `name`, `version`, `CreateTime`) SELECT 1, '01', 0, now(3)
|
Assert.Equal(@"INSERT IGNORE INTO `tbioudb04`(`id`, `name`, `version`, `CreateTime`) VALUES(1, '01', 0, now(3))", sql);
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb04` a
|
|
||||||
WHERE (a.`id` = 1)
|
|
||||||
limit 0,1)", sql);
|
|
||||||
Assert.Equal(1, iou.ExecuteAffrows());
|
Assert.Equal(1, iou.ExecuteAffrows());
|
||||||
|
|
||||||
iou = fsql.InsertOrUpdate<tbioudb04>().IfExistsDoNothing().SetSource(new tbioudb04 { id = 1, name = "011" });
|
iou = fsql.InsertOrUpdate<tbioudb04>().IfExistsDoNothing().SetSource(new tbioudb04 { id = 1, name = "011" });
|
||||||
sql = iou.ToSql();
|
sql = iou.ToSql();
|
||||||
Assert.Equal(@"INSERT INTO `tbioudb04`(`id`, `name`, `version`, `CreateTime`) SELECT 1, '011', 0, now(3)
|
Assert.Equal(@"INSERT IGNORE INTO `tbioudb04`(`id`, `name`, `version`, `CreateTime`) VALUES(1, '011', 0, now(3))", sql);
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb04` a
|
|
||||||
WHERE (a.`id` = 1)
|
|
||||||
limit 0,1)", sql);
|
|
||||||
Assert.Equal(0, iou.ExecuteAffrows());
|
Assert.Equal(0, iou.ExecuteAffrows());
|
||||||
|
|
||||||
iou = fsql.InsertOrUpdate<tbioudb04>().IfExistsDoNothing().SetSource(new tbioudb04 { id = 2, name = "02" });
|
iou = fsql.InsertOrUpdate<tbioudb04>().IfExistsDoNothing().SetSource(new tbioudb04 { id = 2, name = "02" });
|
||||||
sql = iou.ToSql();
|
sql = iou.ToSql();
|
||||||
Assert.Equal(@"INSERT INTO `tbioudb04`(`id`, `name`, `version`, `CreateTime`) SELECT 2, '02', 0, now(3)
|
Assert.Equal(@"INSERT IGNORE INTO `tbioudb04`(`id`, `name`, `version`, `CreateTime`) VALUES(2, '02', 0, now(3))", sql);
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb04` a
|
|
||||||
WHERE (a.`id` = 2)
|
|
||||||
limit 0,1)", sql);
|
|
||||||
Assert.Equal(1, iou.ExecuteAffrows());
|
Assert.Equal(1, iou.ExecuteAffrows());
|
||||||
|
|
||||||
iou = fsql.InsertOrUpdate<tbioudb04>().IfExistsDoNothing().SetSource(new[] { new tbioudb04 { id = 1, name = "01" }, new tbioudb04 { id = 2, name = "02" }, new tbioudb04 { id = 3, name = "03" }, new tbioudb04 { id = 4, name = "04" } });
|
iou = fsql.InsertOrUpdate<tbioudb04>().IfExistsDoNothing().SetSource(new[] { new tbioudb04 { id = 1, name = "01" }, new tbioudb04 { id = 2, name = "02" }, new tbioudb04 { id = 3, name = "03" }, new tbioudb04 { id = 4, name = "04" } });
|
||||||
sql = iou.ToSql();
|
sql = iou.ToSql();
|
||||||
Assert.Equal(@"INSERT INTO `tbioudb04`(`id`, `name`, `version`, `CreateTime`) SELECT 1, '01', 0, now(3)
|
Assert.Equal(@"INSERT IGNORE INTO `tbioudb04`(`id`, `name`, `version`, `CreateTime`) VALUES(1, '01', 0, now(3)), (2, '02', 0, now(3)), (3, '03', 0, now(3)), (4, '04', 0, now(3))", sql);
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb04` a
|
|
||||||
WHERE (a.`id` = 1)
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 2, '02', 0, now(3)
|
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb04` a
|
|
||||||
WHERE (a.`id` = 2)
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 3, '03', 0, now(3)
|
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb04` a
|
|
||||||
WHERE (a.`id` = 3)
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 4, '04', 0, now(3)
|
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb04` a
|
|
||||||
WHERE (a.`id` = 4)
|
|
||||||
limit 0,1)", sql);
|
|
||||||
Assert.Equal(2, iou.ExecuteAffrows());
|
Assert.Equal(2, iou.ExecuteAffrows());
|
||||||
|
|
||||||
iou = fsql.InsertOrUpdate<tbioudb04>().IfExistsDoNothing().SetSource(new[] { new tbioudb04 { id = 1, name = "001" }, new tbioudb04 { id = 2, name = "002" }, new tbioudb04 { id = 3, name = "003" }, new tbioudb04 { id = 4, name = "004" } });
|
iou = fsql.InsertOrUpdate<tbioudb04>().IfExistsDoNothing().SetSource(new[] { new tbioudb04 { id = 1, name = "001" }, new tbioudb04 { id = 2, name = "002" }, new tbioudb04 { id = 3, name = "003" }, new tbioudb04 { id = 4, name = "004" } });
|
||||||
sql = iou.ToSql();
|
sql = iou.ToSql();
|
||||||
Assert.Equal(@"INSERT INTO `tbioudb04`(`id`, `name`, `version`, `CreateTime`) SELECT 1, '001', 0, now(3)
|
Assert.Equal(@"INSERT IGNORE INTO `tbioudb04`(`id`, `name`, `version`, `CreateTime`) VALUES(1, '001', 0, now(3)), (2, '002', 0, now(3)), (3, '003', 0, now(3)), (4, '004', 0, now(3))", sql);
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb04` a
|
|
||||||
WHERE (a.`id` = 1)
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 2, '002', 0, now(3)
|
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb04` a
|
|
||||||
WHERE (a.`id` = 2)
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 3, '003', 0, now(3)
|
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb04` a
|
|
||||||
WHERE (a.`id` = 3)
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 4, '004', 0, now(3)
|
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb04` a
|
|
||||||
WHERE (a.`id` = 4)
|
|
||||||
limit 0,1)", sql);
|
|
||||||
Assert.Equal(0, iou.ExecuteAffrows());
|
Assert.Equal(0, iou.ExecuteAffrows());
|
||||||
var lst = fsql.Select<tbioudb04>().Where(a => new[] { 1, 2, 3, 4 }.Contains(a.id)).ToList();
|
var lst = fsql.Select<tbioudb04>().Where(a => new[] { 1, 2, 3, 4 }.Contains(a.id)).ToList();
|
||||||
Assert.Equal(4, lst.Where(a => a.name == "0" + a.id).Count());
|
Assert.Equal(4, lst.Where(a => a.name == "0" + a.id).Count());
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
using FreeSql.DataAnnotations;
|
using FreeSql.DataAnnotations;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
@ -17,83 +17,27 @@ namespace FreeSql.Tests.Odbc.MySql
|
|||||||
fsql.Delete<tbioudb02>().Where("1=1").ExecuteAffrows();
|
fsql.Delete<tbioudb02>().Where("1=1").ExecuteAffrows();
|
||||||
var iou = fsql.InsertOrUpdate<tbioudb02>().IfExistsDoNothing().SetSource(new tbioudb02 { id = 1, name = "01" });
|
var iou = fsql.InsertOrUpdate<tbioudb02>().IfExistsDoNothing().SetSource(new tbioudb02 { id = 1, name = "01" });
|
||||||
var sql = iou.ToSql();
|
var sql = iou.ToSql();
|
||||||
Assert.Equal(@"INSERT INTO `tbioudb02`(`id`, `name`) SELECT 1, '01'
|
Assert.Equal(@"INSERT IGNORE INTO `tbioudb02`(`id`, `name`) VALUES(1, '01')", sql);
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb02` a
|
|
||||||
WHERE (a.`id` = 1)
|
|
||||||
limit 0,1)", sql);
|
|
||||||
Assert.Equal(1, iou.ExecuteAffrows());
|
Assert.Equal(1, iou.ExecuteAffrows());
|
||||||
|
|
||||||
iou = fsql.InsertOrUpdate<tbioudb02>().IfExistsDoNothing().SetSource(new tbioudb02 { id = 1, name = "011" });
|
iou = fsql.InsertOrUpdate<tbioudb02>().IfExistsDoNothing().SetSource(new tbioudb02 { id = 1, name = "011" });
|
||||||
sql = iou.ToSql();
|
sql = iou.ToSql();
|
||||||
Assert.Equal(@"INSERT INTO `tbioudb02`(`id`, `name`) SELECT 1, '011'
|
Assert.Equal(@"INSERT IGNORE INTO `tbioudb02`(`id`, `name`) VALUES(1, '011')", sql);
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb02` a
|
|
||||||
WHERE (a.`id` = 1)
|
|
||||||
limit 0,1)", sql);
|
|
||||||
Assert.Equal(0, iou.ExecuteAffrows());
|
Assert.Equal(0, iou.ExecuteAffrows());
|
||||||
|
|
||||||
iou = fsql.InsertOrUpdate<tbioudb02>().IfExistsDoNothing().SetSource(new tbioudb02 { id = 2, name = "02" });
|
iou = fsql.InsertOrUpdate<tbioudb02>().IfExistsDoNothing().SetSource(new tbioudb02 { id = 2, name = "02" });
|
||||||
sql = iou.ToSql();
|
sql = iou.ToSql();
|
||||||
Assert.Equal(@"INSERT INTO `tbioudb02`(`id`, `name`) SELECT 2, '02'
|
Assert.Equal(@"INSERT IGNORE INTO `tbioudb02`(`id`, `name`) VALUES(2, '02')", sql);
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb02` a
|
|
||||||
WHERE (a.`id` = 2)
|
|
||||||
limit 0,1)", sql);
|
|
||||||
Assert.Equal(1, iou.ExecuteAffrows());
|
Assert.Equal(1, iou.ExecuteAffrows());
|
||||||
|
|
||||||
iou = fsql.InsertOrUpdate<tbioudb02>().IfExistsDoNothing().SetSource(new[] { new tbioudb02 { id = 1, name = "01" }, new tbioudb02 { id = 2, name = "02" }, new tbioudb02 { id = 3, name = "03" }, new tbioudb02 { id = 4, name = "04" } });
|
iou = fsql.InsertOrUpdate<tbioudb02>().IfExistsDoNothing().SetSource(new[] { new tbioudb02 { id = 1, name = "01" }, new tbioudb02 { id = 2, name = "02" }, new tbioudb02 { id = 3, name = "03" }, new tbioudb02 { id = 4, name = "04" } });
|
||||||
sql = iou.ToSql();
|
sql = iou.ToSql();
|
||||||
Assert.Equal(@"INSERT INTO `tbioudb02`(`id`, `name`) SELECT 1, '01'
|
Assert.Equal(@"INSERT IGNORE INTO `tbioudb02`(`id`, `name`) VALUES(1, '01'), (2, '02'), (3, '03'), (4, '04')", sql);
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb02` a
|
|
||||||
WHERE (a.`id` = 1)
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 2, '02'
|
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb02` a
|
|
||||||
WHERE (a.`id` = 2)
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 3, '03'
|
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb02` a
|
|
||||||
WHERE (a.`id` = 3)
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 4, '04'
|
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb02` a
|
|
||||||
WHERE (a.`id` = 4)
|
|
||||||
limit 0,1)", sql);
|
|
||||||
Assert.Equal(2, iou.ExecuteAffrows());
|
Assert.Equal(2, iou.ExecuteAffrows());
|
||||||
|
|
||||||
iou = fsql.InsertOrUpdate<tbioudb02>().IfExistsDoNothing().SetSource(new[] { new tbioudb02 { id = 1, name = "001" }, new tbioudb02 { id = 2, name = "002" }, new tbioudb02 { id = 3, name = "003" }, new tbioudb02 { id = 4, name = "004" } });
|
iou = fsql.InsertOrUpdate<tbioudb02>().IfExistsDoNothing().SetSource(new[] { new tbioudb02 { id = 1, name = "001" }, new tbioudb02 { id = 2, name = "002" }, new tbioudb02 { id = 3, name = "003" }, new tbioudb02 { id = 4, name = "004" } });
|
||||||
sql = iou.ToSql();
|
sql = iou.ToSql();
|
||||||
Assert.Equal(@"INSERT INTO `tbioudb02`(`id`, `name`) SELECT 1, '001'
|
Assert.Equal(@"INSERT IGNORE INTO `tbioudb02`(`id`, `name`) VALUES(1, '001'), (2, '002'), (3, '003'), (4, '004')", sql);
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb02` a
|
|
||||||
WHERE (a.`id` = 1)
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 2, '002'
|
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb02` a
|
|
||||||
WHERE (a.`id` = 2)
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 3, '003'
|
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb02` a
|
|
||||||
WHERE (a.`id` = 3)
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 4, '004'
|
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb02` a
|
|
||||||
WHERE (a.`id` = 4)
|
|
||||||
limit 0,1)", sql);
|
|
||||||
Assert.Equal(0, iou.ExecuteAffrows());
|
Assert.Equal(0, iou.ExecuteAffrows());
|
||||||
var lst = fsql.Select<tbioudb02>().Where(a => new[] { 1, 2, 3, 4 }.Contains(a.id)).ToList();
|
var lst = fsql.Select<tbioudb02>().Where(a => new[] { 1, 2, 3, 4 }.Contains(a.id)).ToList();
|
||||||
Assert.Equal(4, lst.Where(a => a.name == "0" + a.id).Count());
|
Assert.Equal(4, lst.Where(a => a.name == "0" + a.id).Count());
|
||||||
@ -109,83 +53,27 @@ UNION ALL
|
|||||||
fsql.Delete<tbioudb022>().Where("1=1").ExecuteAffrows();
|
fsql.Delete<tbioudb022>().Where("1=1").ExecuteAffrows();
|
||||||
var iou = fsql.InsertOrUpdate<tbioudb022>().IfExistsDoNothing().SetSource(new tbioudb022 { id = 1, name = "01" });
|
var iou = fsql.InsertOrUpdate<tbioudb022>().IfExistsDoNothing().SetSource(new tbioudb022 { id = 1, name = "01" });
|
||||||
var sql = iou.ToSql();
|
var sql = iou.ToSql();
|
||||||
Assert.Equal(@"INSERT INTO `tbioudb022`(`id`, `name`) SELECT 1, '01'
|
Assert.Equal(@"INSERT IGNORE INTO `tbioudb022`(`id`, `name`) VALUES(1, '01')", sql);
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb022` a
|
|
||||||
WHERE (a.`id` = 1)
|
|
||||||
limit 0,1)", sql);
|
|
||||||
Assert.Equal(1, iou.ExecuteAffrows());
|
Assert.Equal(1, iou.ExecuteAffrows());
|
||||||
|
|
||||||
iou = fsql.InsertOrUpdate<tbioudb022>().IfExistsDoNothing().SetSource(new tbioudb022 { id = 1, name = "011" });
|
iou = fsql.InsertOrUpdate<tbioudb022>().IfExistsDoNothing().SetSource(new tbioudb022 { id = 1, name = "011" });
|
||||||
sql = iou.ToSql();
|
sql = iou.ToSql();
|
||||||
Assert.Equal(@"INSERT INTO `tbioudb022`(`id`, `name`) SELECT 1, '011'
|
Assert.Equal(@"INSERT IGNORE INTO `tbioudb022`(`id`, `name`) VALUES(1, '011')", sql);
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb022` a
|
|
||||||
WHERE (a.`id` = 1)
|
|
||||||
limit 0,1)", sql);
|
|
||||||
Assert.Equal(0, iou.ExecuteAffrows());
|
Assert.Equal(0, iou.ExecuteAffrows());
|
||||||
|
|
||||||
iou = fsql.InsertOrUpdate<tbioudb022>().IfExistsDoNothing().SetSource(new tbioudb022 { id = 2, name = "02" });
|
iou = fsql.InsertOrUpdate<tbioudb022>().IfExistsDoNothing().SetSource(new tbioudb022 { id = 2, name = "02" });
|
||||||
sql = iou.ToSql();
|
sql = iou.ToSql();
|
||||||
Assert.Equal(@"INSERT INTO `tbioudb022`(`id`, `name`) SELECT 2, '02'
|
Assert.Equal(@"INSERT IGNORE INTO `tbioudb022`(`id`, `name`) VALUES(2, '02')", sql);
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb022` a
|
|
||||||
WHERE (a.`id` = 2)
|
|
||||||
limit 0,1)", sql);
|
|
||||||
Assert.Equal(1, iou.ExecuteAffrows());
|
Assert.Equal(1, iou.ExecuteAffrows());
|
||||||
|
|
||||||
iou = fsql.InsertOrUpdate<tbioudb022>().IfExistsDoNothing().SetSource(new[] { new tbioudb022 { id = 1, name = "01" }, new tbioudb022 { id = 2, name = "02" }, new tbioudb022 { id = 3, name = "03" }, new tbioudb022 { id = 4, name = "04" } });
|
iou = fsql.InsertOrUpdate<tbioudb022>().IfExistsDoNothing().SetSource(new[] { new tbioudb022 { id = 1, name = "01" }, new tbioudb022 { id = 2, name = "02" }, new tbioudb022 { id = 3, name = "03" }, new tbioudb022 { id = 4, name = "04" } });
|
||||||
sql = iou.ToSql();
|
sql = iou.ToSql();
|
||||||
Assert.Equal(@"INSERT INTO `tbioudb022`(`id`, `name`) SELECT 1, '01'
|
Assert.Equal(@"INSERT IGNORE INTO `tbioudb022`(`id`, `name`) VALUES(1, '01'), (2, '02'), (3, '03'), (4, '04')", sql);
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb022` a
|
|
||||||
WHERE (a.`id` = 1)
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 2, '02'
|
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb022` a
|
|
||||||
WHERE (a.`id` = 2)
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 3, '03'
|
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb022` a
|
|
||||||
WHERE (a.`id` = 3)
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 4, '04'
|
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb022` a
|
|
||||||
WHERE (a.`id` = 4)
|
|
||||||
limit 0,1)", sql);
|
|
||||||
Assert.Equal(2, iou.ExecuteAffrows());
|
Assert.Equal(2, iou.ExecuteAffrows());
|
||||||
|
|
||||||
iou = fsql.InsertOrUpdate<tbioudb022>().IfExistsDoNothing().SetSource(new[] { new tbioudb022 { id = 1, name = "001" }, new tbioudb022 { id = 2, name = "002" }, new tbioudb022 { id = 3, name = "003" }, new tbioudb022 { id = 4, name = "004" } });
|
iou = fsql.InsertOrUpdate<tbioudb022>().IfExistsDoNothing().SetSource(new[] { new tbioudb022 { id = 1, name = "001" }, new tbioudb022 { id = 2, name = "002" }, new tbioudb022 { id = 3, name = "003" }, new tbioudb022 { id = 4, name = "004" } });
|
||||||
sql = iou.ToSql();
|
sql = iou.ToSql();
|
||||||
Assert.Equal(@"INSERT INTO `tbioudb022`(`id`, `name`) SELECT 1, '001'
|
Assert.Equal(@"INSERT IGNORE INTO `tbioudb022`(`id`, `name`) VALUES(1, '001'), (2, '002'), (3, '003'), (4, '004')", sql);
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb022` a
|
|
||||||
WHERE (a.`id` = 1)
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 2, '002'
|
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb022` a
|
|
||||||
WHERE (a.`id` = 2)
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 3, '003'
|
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb022` a
|
|
||||||
WHERE (a.`id` = 3)
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 4, '004'
|
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb022` a
|
|
||||||
WHERE (a.`id` = 4)
|
|
||||||
limit 0,1)", sql);
|
|
||||||
Assert.Equal(0, iou.ExecuteAffrows());
|
Assert.Equal(0, iou.ExecuteAffrows());
|
||||||
var lst = fsql.Select<tbioudb022>().Where(a => new[] { 1, 2, 3, 4 }.Contains(a.id)).ToList();
|
var lst = fsql.Select<tbioudb022>().Where(a => new[] { 1, 2, 3, 4 }.Contains(a.id)).ToList();
|
||||||
Assert.Equal(4, lst.Where(a => a.name == "0" + a.id).Count());
|
Assert.Equal(4, lst.Where(a => a.name == "0" + a.id).Count());
|
||||||
@ -219,29 +107,7 @@ UNION ALL
|
|||||||
//--no primary and yes
|
//--no primary and yes
|
||||||
iou = fsql.InsertOrUpdate<tbioudb022>().IfExistsDoNothing().SetSource(new[] { new tbioudb022 { id = 1, name = "100001" }, new tbioudb022 { name = "00001" }, new tbioudb022 { id = 2, name = "100002" }, new tbioudb022 { name = "00002" }, new tbioudb022 { id = 3, name = "100003" }, new tbioudb022 { name = "00003" }, new tbioudb022 { id = 4, name = "100004" }, new tbioudb022 { name = "00004" } });
|
iou = fsql.InsertOrUpdate<tbioudb022>().IfExistsDoNothing().SetSource(new[] { new tbioudb022 { id = 1, name = "100001" }, new tbioudb022 { name = "00001" }, new tbioudb022 { id = 2, name = "100002" }, new tbioudb022 { name = "00002" }, new tbioudb022 { id = 3, name = "100003" }, new tbioudb022 { name = "00003" }, new tbioudb022 { id = 4, name = "100004" }, new tbioudb022 { name = "00004" } });
|
||||||
sql = iou.ToSql();
|
sql = iou.ToSql();
|
||||||
Assert.Equal(@"INSERT INTO `tbioudb022`(`id`, `name`) SELECT 1, '100001'
|
Assert.Equal(@"INSERT IGNORE INTO `tbioudb022`(`id`, `name`) VALUES(1, '100001'), (2, '100002'), (3, '100003'), (4, '100004')
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb022` a
|
|
||||||
WHERE (a.`id` = 1)
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 2, '100002'
|
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb022` a
|
|
||||||
WHERE (a.`id` = 2)
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 3, '100003'
|
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb022` a
|
|
||||||
WHERE (a.`id` = 3)
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 4, '100004'
|
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb022` a
|
|
||||||
WHERE (a.`id` = 4)
|
|
||||||
limit 0,1)
|
|
||||||
|
|
||||||
;
|
;
|
||||||
|
|
||||||
@ -263,83 +129,27 @@ INSERT INTO `tbioudb022`(`name`) VALUES('00001'), ('00002'), ('00003'), ('00004'
|
|||||||
fsql.Delete<tbioudb03>().Where("1=1").ExecuteAffrows();
|
fsql.Delete<tbioudb03>().Where("1=1").ExecuteAffrows();
|
||||||
var iou = fsql.InsertOrUpdate<tbioudb03>().IfExistsDoNothing().SetSource(new tbioudb03 { id1 = 1, id2 = "01", name = "01" });
|
var iou = fsql.InsertOrUpdate<tbioudb03>().IfExistsDoNothing().SetSource(new tbioudb03 { id1 = 1, id2 = "01", name = "01" });
|
||||||
var sql = iou.ToSql();
|
var sql = iou.ToSql();
|
||||||
Assert.Equal(@"INSERT INTO `tbioudb03`(`id1`, `id2`, `name`) SELECT 1, '01', '01'
|
Assert.Equal(@"INSERT IGNORE INTO `tbioudb03`(`id1`, `id2`, `name`) VALUES(1, '01', '01')", sql);
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb03` a
|
|
||||||
WHERE (a.`id1` = 1 AND a.`id2` = '01')
|
|
||||||
limit 0,1)", sql);
|
|
||||||
Assert.Equal(1, iou.ExecuteAffrows());
|
Assert.Equal(1, iou.ExecuteAffrows());
|
||||||
|
|
||||||
iou = fsql.InsertOrUpdate<tbioudb03>().IfExistsDoNothing().SetSource(new tbioudb03 { id1 = 1, id2 = "01", name = "011" });
|
iou = fsql.InsertOrUpdate<tbioudb03>().IfExistsDoNothing().SetSource(new tbioudb03 { id1 = 1, id2 = "01", name = "011" });
|
||||||
sql = iou.ToSql();
|
sql = iou.ToSql();
|
||||||
Assert.Equal(@"INSERT INTO `tbioudb03`(`id1`, `id2`, `name`) SELECT 1, '01', '011'
|
Assert.Equal(@"INSERT IGNORE INTO `tbioudb03`(`id1`, `id2`, `name`) VALUES(1, '01', '011')", sql);
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb03` a
|
|
||||||
WHERE (a.`id1` = 1 AND a.`id2` = '01')
|
|
||||||
limit 0,1)", sql);
|
|
||||||
Assert.Equal(0, iou.ExecuteAffrows());
|
Assert.Equal(0, iou.ExecuteAffrows());
|
||||||
|
|
||||||
iou = fsql.InsertOrUpdate<tbioudb03>().IfExistsDoNothing().SetSource(new tbioudb03 { id1 = 2, id2 = "02", name = "02" });
|
iou = fsql.InsertOrUpdate<tbioudb03>().IfExistsDoNothing().SetSource(new tbioudb03 { id1 = 2, id2 = "02", name = "02" });
|
||||||
sql = iou.ToSql();
|
sql = iou.ToSql();
|
||||||
Assert.Equal(@"INSERT INTO `tbioudb03`(`id1`, `id2`, `name`) SELECT 2, '02', '02'
|
Assert.Equal(@"INSERT IGNORE INTO `tbioudb03`(`id1`, `id2`, `name`) VALUES(2, '02', '02')", sql);
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb03` a
|
|
||||||
WHERE (a.`id1` = 2 AND a.`id2` = '02')
|
|
||||||
limit 0,1)", sql);
|
|
||||||
Assert.Equal(1, iou.ExecuteAffrows());
|
Assert.Equal(1, iou.ExecuteAffrows());
|
||||||
|
|
||||||
iou = fsql.InsertOrUpdate<tbioudb03>().IfExistsDoNothing().SetSource(new[] { new tbioudb03 { id1 = 1, id2 = "01", name = "01" }, new tbioudb03 { id1 = 2, id2 = "02", name = "02" }, new tbioudb03 { id1 = 3, id2 = "03", name = "03" }, new tbioudb03 { id1 = 4, id2 = "04", name = "04" } });
|
iou = fsql.InsertOrUpdate<tbioudb03>().IfExistsDoNothing().SetSource(new[] { new tbioudb03 { id1 = 1, id2 = "01", name = "01" }, new tbioudb03 { id1 = 2, id2 = "02", name = "02" }, new tbioudb03 { id1 = 3, id2 = "03", name = "03" }, new tbioudb03 { id1 = 4, id2 = "04", name = "04" } });
|
||||||
sql = iou.ToSql();
|
sql = iou.ToSql();
|
||||||
Assert.Equal(@"INSERT INTO `tbioudb03`(`id1`, `id2`, `name`) SELECT 1, '01', '01'
|
Assert.Equal(@"INSERT IGNORE INTO `tbioudb03`(`id1`, `id2`, `name`) VALUES(1, '01', '01'), (2, '02', '02'), (3, '03', '03'), (4, '04', '04')", sql);
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb03` a
|
|
||||||
WHERE (a.`id1` = 1 AND a.`id2` = '01')
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 2, '02', '02'
|
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb03` a
|
|
||||||
WHERE (a.`id1` = 2 AND a.`id2` = '02')
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 3, '03', '03'
|
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb03` a
|
|
||||||
WHERE (a.`id1` = 3 AND a.`id2` = '03')
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 4, '04', '04'
|
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb03` a
|
|
||||||
WHERE (a.`id1` = 4 AND a.`id2` = '04')
|
|
||||||
limit 0,1)", sql);
|
|
||||||
Assert.Equal(2, iou.ExecuteAffrows());
|
Assert.Equal(2, iou.ExecuteAffrows());
|
||||||
|
|
||||||
iou = fsql.InsertOrUpdate<tbioudb03>().IfExistsDoNothing().SetSource(new[] { new tbioudb03 { id1 = 1, id2 = "01", name = "001" }, new tbioudb03 { id1 = 2, id2 = "02", name = "002" }, new tbioudb03 { id1 = 3, id2 = "03", name = "003" }, new tbioudb03 { id1 = 4, id2 = "04", name = "004" } });
|
iou = fsql.InsertOrUpdate<tbioudb03>().IfExistsDoNothing().SetSource(new[] { new tbioudb03 { id1 = 1, id2 = "01", name = "001" }, new tbioudb03 { id1 = 2, id2 = "02", name = "002" }, new tbioudb03 { id1 = 3, id2 = "03", name = "003" }, new tbioudb03 { id1 = 4, id2 = "04", name = "004" } });
|
||||||
sql = iou.ToSql();
|
sql = iou.ToSql();
|
||||||
Assert.Equal(@"INSERT INTO `tbioudb03`(`id1`, `id2`, `name`) SELECT 1, '01', '001'
|
Assert.Equal(@"INSERT IGNORE INTO `tbioudb03`(`id1`, `id2`, `name`) VALUES(1, '01', '001'), (2, '02', '002'), (3, '03', '003'), (4, '04', '004')", sql);
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb03` a
|
|
||||||
WHERE (a.`id1` = 1 AND a.`id2` = '01')
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 2, '02', '002'
|
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb03` a
|
|
||||||
WHERE (a.`id1` = 2 AND a.`id2` = '02')
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 3, '03', '003'
|
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb03` a
|
|
||||||
WHERE (a.`id1` = 3 AND a.`id2` = '03')
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 4, '04', '004'
|
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb03` a
|
|
||||||
WHERE (a.`id1` = 4 AND a.`id2` = '04')
|
|
||||||
limit 0,1)", sql);
|
|
||||||
Assert.Equal(0, iou.ExecuteAffrows());
|
Assert.Equal(0, iou.ExecuteAffrows());
|
||||||
var lst = fsql.Select<tbioudb03>().Where(a => a.id1 == 1 && a.id2 == "01" || a.id1 == 2 && a.id2 == "02" || a.id1 == 3 && a.id2 == "03" || a.id1 == 4 && a.id2 == "04").ToList();
|
var lst = fsql.Select<tbioudb03>().Where(a => a.id1 == 1 && a.id2 == "01" || a.id1 == 2 && a.id2 == "02" || a.id1 == 3 && a.id2 == "03" || a.id1 == 4 && a.id2 == "04").ToList();
|
||||||
Assert.Equal(4, lst.Where(a => a.name == "0" + a.id1).Count());
|
Assert.Equal(4, lst.Where(a => a.name == "0" + a.id1).Count());
|
||||||
@ -359,83 +169,27 @@ UNION ALL
|
|||||||
fsql.Delete<tbioudb04>().Where("1=1").ExecuteAffrows();
|
fsql.Delete<tbioudb04>().Where("1=1").ExecuteAffrows();
|
||||||
var iou = fsql.InsertOrUpdate<tbioudb04>().IfExistsDoNothing().SetSource(new tbioudb04 { id = 1, name = "01" });
|
var iou = fsql.InsertOrUpdate<tbioudb04>().IfExistsDoNothing().SetSource(new tbioudb04 { id = 1, name = "01" });
|
||||||
var sql = iou.ToSql();
|
var sql = iou.ToSql();
|
||||||
Assert.Equal(@"INSERT INTO `tbioudb04`(`id`, `name`, `version`, `CreateTime`) SELECT 1, '01', 0, now(3)
|
Assert.Equal(@"INSERT IGNORE INTO `tbioudb04`(`id`, `name`, `version`, `CreateTime`) VALUES(1, '01', 0, now(3))", sql);
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb04` a
|
|
||||||
WHERE (a.`id` = 1)
|
|
||||||
limit 0,1)", sql);
|
|
||||||
Assert.Equal(1, iou.ExecuteAffrows());
|
Assert.Equal(1, iou.ExecuteAffrows());
|
||||||
|
|
||||||
iou = fsql.InsertOrUpdate<tbioudb04>().IfExistsDoNothing().SetSource(new tbioudb04 { id = 1, name = "011" });
|
iou = fsql.InsertOrUpdate<tbioudb04>().IfExistsDoNothing().SetSource(new tbioudb04 { id = 1, name = "011" });
|
||||||
sql = iou.ToSql();
|
sql = iou.ToSql();
|
||||||
Assert.Equal(@"INSERT INTO `tbioudb04`(`id`, `name`, `version`, `CreateTime`) SELECT 1, '011', 0, now(3)
|
Assert.Equal(@"INSERT IGNORE INTO `tbioudb04`(`id`, `name`, `version`, `CreateTime`) VALUES(1, '011', 0, now(3))", sql);
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb04` a
|
|
||||||
WHERE (a.`id` = 1)
|
|
||||||
limit 0,1)", sql);
|
|
||||||
Assert.Equal(0, iou.ExecuteAffrows());
|
Assert.Equal(0, iou.ExecuteAffrows());
|
||||||
|
|
||||||
iou = fsql.InsertOrUpdate<tbioudb04>().IfExistsDoNothing().SetSource(new tbioudb04 { id = 2, name = "02" });
|
iou = fsql.InsertOrUpdate<tbioudb04>().IfExistsDoNothing().SetSource(new tbioudb04 { id = 2, name = "02" });
|
||||||
sql = iou.ToSql();
|
sql = iou.ToSql();
|
||||||
Assert.Equal(@"INSERT INTO `tbioudb04`(`id`, `name`, `version`, `CreateTime`) SELECT 2, '02', 0, now(3)
|
Assert.Equal(@"INSERT IGNORE INTO `tbioudb04`(`id`, `name`, `version`, `CreateTime`) VALUES(2, '02', 0, now(3))", sql);
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb04` a
|
|
||||||
WHERE (a.`id` = 2)
|
|
||||||
limit 0,1)", sql);
|
|
||||||
Assert.Equal(1, iou.ExecuteAffrows());
|
Assert.Equal(1, iou.ExecuteAffrows());
|
||||||
|
|
||||||
iou = fsql.InsertOrUpdate<tbioudb04>().IfExistsDoNothing().SetSource(new[] { new tbioudb04 { id = 1, name = "01" }, new tbioudb04 { id = 2, name = "02" }, new tbioudb04 { id = 3, name = "03" }, new tbioudb04 { id = 4, name = "04" } });
|
iou = fsql.InsertOrUpdate<tbioudb04>().IfExistsDoNothing().SetSource(new[] { new tbioudb04 { id = 1, name = "01" }, new tbioudb04 { id = 2, name = "02" }, new tbioudb04 { id = 3, name = "03" }, new tbioudb04 { id = 4, name = "04" } });
|
||||||
sql = iou.ToSql();
|
sql = iou.ToSql();
|
||||||
Assert.Equal(@"INSERT INTO `tbioudb04`(`id`, `name`, `version`, `CreateTime`) SELECT 1, '01', 0, now(3)
|
Assert.Equal(@"INSERT IGNORE INTO `tbioudb04`(`id`, `name`, `version`, `CreateTime`) VALUES(1, '01', 0, now(3)), (2, '02', 0, now(3)), (3, '03', 0, now(3)), (4, '04', 0, now(3))", sql);
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb04` a
|
|
||||||
WHERE (a.`id` = 1)
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 2, '02', 0, now(3)
|
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb04` a
|
|
||||||
WHERE (a.`id` = 2)
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 3, '03', 0, now(3)
|
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb04` a
|
|
||||||
WHERE (a.`id` = 3)
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 4, '04', 0, now(3)
|
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb04` a
|
|
||||||
WHERE (a.`id` = 4)
|
|
||||||
limit 0,1)", sql);
|
|
||||||
Assert.Equal(2, iou.ExecuteAffrows());
|
Assert.Equal(2, iou.ExecuteAffrows());
|
||||||
|
|
||||||
iou = fsql.InsertOrUpdate<tbioudb04>().IfExistsDoNothing().SetSource(new[] { new tbioudb04 { id = 1, name = "001" }, new tbioudb04 { id = 2, name = "002" }, new tbioudb04 { id = 3, name = "003" }, new tbioudb04 { id = 4, name = "004" } });
|
iou = fsql.InsertOrUpdate<tbioudb04>().IfExistsDoNothing().SetSource(new[] { new tbioudb04 { id = 1, name = "001" }, new tbioudb04 { id = 2, name = "002" }, new tbioudb04 { id = 3, name = "003" }, new tbioudb04 { id = 4, name = "004" } });
|
||||||
sql = iou.ToSql();
|
sql = iou.ToSql();
|
||||||
Assert.Equal(@"INSERT INTO `tbioudb04`(`id`, `name`, `version`, `CreateTime`) SELECT 1, '001', 0, now(3)
|
Assert.Equal(@"INSERT IGNORE INTO `tbioudb04`(`id`, `name`, `version`, `CreateTime`) VALUES(1, '001', 0, now(3)), (2, '002', 0, now(3)), (3, '003', 0, now(3)), (4, '004', 0, now(3))", sql);
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb04` a
|
|
||||||
WHERE (a.`id` = 1)
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 2, '002', 0, now(3)
|
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb04` a
|
|
||||||
WHERE (a.`id` = 2)
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 3, '003', 0, now(3)
|
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb04` a
|
|
||||||
WHERE (a.`id` = 3)
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 4, '004', 0, now(3)
|
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb04` a
|
|
||||||
WHERE (a.`id` = 4)
|
|
||||||
limit 0,1)", sql);
|
|
||||||
Assert.Equal(0, iou.ExecuteAffrows());
|
Assert.Equal(0, iou.ExecuteAffrows());
|
||||||
var lst = fsql.Select<tbioudb04>().Where(a => new[] { 1, 2, 3, 4 }.Contains(a.id)).ToList();
|
var lst = fsql.Select<tbioudb04>().Where(a => new[] { 1, 2, 3, 4 }.Contains(a.id)).ToList();
|
||||||
Assert.Equal(4, lst.Where(a => a.name == "0" + a.id).Count());
|
Assert.Equal(4, lst.Where(a => a.name == "0" + a.id).Count());
|
||||||
|
@ -28,11 +28,7 @@ namespace FreeSql.Tests.Issues
|
|||||||
.SetSource(new[] { new Song_Tag { SongId = 1, TagId = 1 } })
|
.SetSource(new[] { new Song_Tag { SongId = 1, TagId = 1 } })
|
||||||
.IfExistsDoNothing()
|
.IfExistsDoNothing()
|
||||||
.ToSql();
|
.ToSql();
|
||||||
Assert.Equal(@"INSERT INTO `Song_Tag663`(`SongId`, `TagId`) SELECT 1, 1
|
Assert.Equal(@"INSERT IGNORE INTO `Song_Tag663`(`SongId`, `TagId`) VALUES(1, 1)", rst);
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `Song_Tag663` a
|
|
||||||
WHERE (a.`SongId` = 1 AND a.`TagId` = 1)
|
|
||||||
limit 0,1)", rst);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
[Table(Name = "Song663")]
|
[Table(Name = "Song663")]
|
||||||
|
@ -111,7 +111,7 @@ WHERE (strftime('%Y',a."CreateTime") = 2021)
|
|||||||
Assert.Single(dmonth1);
|
Assert.Single(dmonth1);
|
||||||
Assert.Single(d1);
|
Assert.Single(d1);
|
||||||
Assert.Single(d1);
|
Assert.Single(d1);
|
||||||
Assert.Single(d5);
|
//Assert.Single(d5);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
using FreeSql.DataAnnotations;
|
using FreeSql.DataAnnotations;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
@ -17,83 +17,27 @@ namespace FreeSql.Tests.MySql
|
|||||||
fsql.Delete<tbioudb02>().Where("1=1").ExecuteAffrows();
|
fsql.Delete<tbioudb02>().Where("1=1").ExecuteAffrows();
|
||||||
var iou = fsql.InsertOrUpdate<tbioudb02>().IfExistsDoNothing().SetSource(new tbioudb02 { id = 1, name = "01" });
|
var iou = fsql.InsertOrUpdate<tbioudb02>().IfExistsDoNothing().SetSource(new tbioudb02 { id = 1, name = "01" });
|
||||||
var sql = iou.ToSql();
|
var sql = iou.ToSql();
|
||||||
Assert.Equal(@"INSERT INTO `tbioudb02`(`id`, `name`) SELECT 1, '01'
|
Assert.Equal(@"INSERT IGNORE INTO `tbioudb02`(`id`, `name`) VALUES(1, '01')", sql);
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb02` a
|
|
||||||
WHERE (a.`id` = 1)
|
|
||||||
limit 0,1)", sql);
|
|
||||||
Assert.Equal(1, iou.ExecuteAffrows());
|
Assert.Equal(1, iou.ExecuteAffrows());
|
||||||
|
|
||||||
iou = fsql.InsertOrUpdate<tbioudb02>().IfExistsDoNothing().SetSource(new tbioudb02 { id = 1, name = "011" });
|
iou = fsql.InsertOrUpdate<tbioudb02>().IfExistsDoNothing().SetSource(new tbioudb02 { id = 1, name = "011" });
|
||||||
sql = iou.ToSql();
|
sql = iou.ToSql();
|
||||||
Assert.Equal(@"INSERT INTO `tbioudb02`(`id`, `name`) SELECT 1, '011'
|
Assert.Equal(@"INSERT IGNORE INTO `tbioudb02`(`id`, `name`) VALUES(1, '011')", sql);
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb02` a
|
|
||||||
WHERE (a.`id` = 1)
|
|
||||||
limit 0,1)", sql);
|
|
||||||
Assert.Equal(0, iou.ExecuteAffrows());
|
Assert.Equal(0, iou.ExecuteAffrows());
|
||||||
|
|
||||||
iou = fsql.InsertOrUpdate<tbioudb02>().IfExistsDoNothing().SetSource(new tbioudb02 { id = 2, name = "02" });
|
iou = fsql.InsertOrUpdate<tbioudb02>().IfExistsDoNothing().SetSource(new tbioudb02 { id = 2, name = "02" });
|
||||||
sql = iou.ToSql();
|
sql = iou.ToSql();
|
||||||
Assert.Equal(@"INSERT INTO `tbioudb02`(`id`, `name`) SELECT 2, '02'
|
Assert.Equal(@"INSERT IGNORE INTO `tbioudb02`(`id`, `name`) VALUES(2, '02')", sql);
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb02` a
|
|
||||||
WHERE (a.`id` = 2)
|
|
||||||
limit 0,1)", sql);
|
|
||||||
Assert.Equal(1, iou.ExecuteAffrows());
|
Assert.Equal(1, iou.ExecuteAffrows());
|
||||||
|
|
||||||
iou = fsql.InsertOrUpdate<tbioudb02>().IfExistsDoNothing().SetSource(new[] { new tbioudb02 { id = 1, name = "01" }, new tbioudb02 { id = 2, name = "02" }, new tbioudb02 { id = 3, name = "03" }, new tbioudb02 { id = 4, name = "04" } });
|
iou = fsql.InsertOrUpdate<tbioudb02>().IfExistsDoNothing().SetSource(new[] { new tbioudb02 { id = 1, name = "01" }, new tbioudb02 { id = 2, name = "02" }, new tbioudb02 { id = 3, name = "03" }, new tbioudb02 { id = 4, name = "04" } });
|
||||||
sql = iou.ToSql();
|
sql = iou.ToSql();
|
||||||
Assert.Equal(@"INSERT INTO `tbioudb02`(`id`, `name`) SELECT 1, '01'
|
Assert.Equal(@"INSERT IGNORE INTO `tbioudb02`(`id`, `name`) VALUES(1, '01'), (2, '02'), (3, '03'), (4, '04')", sql);
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb02` a
|
|
||||||
WHERE (a.`id` = 1)
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 2, '02'
|
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb02` a
|
|
||||||
WHERE (a.`id` = 2)
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 3, '03'
|
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb02` a
|
|
||||||
WHERE (a.`id` = 3)
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 4, '04'
|
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb02` a
|
|
||||||
WHERE (a.`id` = 4)
|
|
||||||
limit 0,1)", sql);
|
|
||||||
Assert.Equal(2, iou.ExecuteAffrows());
|
Assert.Equal(2, iou.ExecuteAffrows());
|
||||||
|
|
||||||
iou = fsql.InsertOrUpdate<tbioudb02>().IfExistsDoNothing().SetSource(new[] { new tbioudb02 { id = 1, name = "001" }, new tbioudb02 { id = 2, name = "002" }, new tbioudb02 { id = 3, name = "003" }, new tbioudb02 { id = 4, name = "004" } });
|
iou = fsql.InsertOrUpdate<tbioudb02>().IfExistsDoNothing().SetSource(new[] { new tbioudb02 { id = 1, name = "001" }, new tbioudb02 { id = 2, name = "002" }, new tbioudb02 { id = 3, name = "003" }, new tbioudb02 { id = 4, name = "004" } });
|
||||||
sql = iou.ToSql();
|
sql = iou.ToSql();
|
||||||
Assert.Equal(@"INSERT INTO `tbioudb02`(`id`, `name`) SELECT 1, '001'
|
Assert.Equal(@"INSERT IGNORE INTO `tbioudb02`(`id`, `name`) VALUES(1, '001'), (2, '002'), (3, '003'), (4, '004')", sql);
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb02` a
|
|
||||||
WHERE (a.`id` = 1)
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 2, '002'
|
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb02` a
|
|
||||||
WHERE (a.`id` = 2)
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 3, '003'
|
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb02` a
|
|
||||||
WHERE (a.`id` = 3)
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 4, '004'
|
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb02` a
|
|
||||||
WHERE (a.`id` = 4)
|
|
||||||
limit 0,1)", sql);
|
|
||||||
Assert.Equal(0, iou.ExecuteAffrows());
|
Assert.Equal(0, iou.ExecuteAffrows());
|
||||||
var lst = fsql.Select<tbioudb02>().Where(a => new[] { 1, 2, 3, 4 }.Contains(a.id)).ToList();
|
var lst = fsql.Select<tbioudb02>().Where(a => new[] { 1, 2, 3, 4 }.Contains(a.id)).ToList();
|
||||||
Assert.Equal(4, lst.Where(a => a.name == "0" + a.id).Count());
|
Assert.Equal(4, lst.Where(a => a.name == "0" + a.id).Count());
|
||||||
@ -109,83 +53,27 @@ UNION ALL
|
|||||||
fsql.Delete<tbioudb022>().Where("1=1").ExecuteAffrows();
|
fsql.Delete<tbioudb022>().Where("1=1").ExecuteAffrows();
|
||||||
var iou = fsql.InsertOrUpdate<tbioudb022>().IfExistsDoNothing().SetSource(new tbioudb022 { id = 1, name = "01" });
|
var iou = fsql.InsertOrUpdate<tbioudb022>().IfExistsDoNothing().SetSource(new tbioudb022 { id = 1, name = "01" });
|
||||||
var sql = iou.ToSql();
|
var sql = iou.ToSql();
|
||||||
Assert.Equal(@"INSERT INTO `tbioudb022`(`id`, `name`) SELECT 1, '01'
|
Assert.Equal(@"INSERT IGNORE INTO `tbioudb022`(`id`, `name`) VALUES(1, '01')", sql);
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb022` a
|
|
||||||
WHERE (a.`id` = 1)
|
|
||||||
limit 0,1)", sql);
|
|
||||||
Assert.Equal(1, iou.ExecuteAffrows());
|
Assert.Equal(1, iou.ExecuteAffrows());
|
||||||
|
|
||||||
iou = fsql.InsertOrUpdate<tbioudb022>().IfExistsDoNothing().SetSource(new tbioudb022 { id = 1, name = "011" });
|
iou = fsql.InsertOrUpdate<tbioudb022>().IfExistsDoNothing().SetSource(new tbioudb022 { id = 1, name = "011" });
|
||||||
sql = iou.ToSql();
|
sql = iou.ToSql();
|
||||||
Assert.Equal(@"INSERT INTO `tbioudb022`(`id`, `name`) SELECT 1, '011'
|
Assert.Equal(@"INSERT IGNORE INTO `tbioudb022`(`id`, `name`) VALUES(1, '011')", sql);
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb022` a
|
|
||||||
WHERE (a.`id` = 1)
|
|
||||||
limit 0,1)", sql);
|
|
||||||
Assert.Equal(0, iou.ExecuteAffrows());
|
Assert.Equal(0, iou.ExecuteAffrows());
|
||||||
|
|
||||||
iou = fsql.InsertOrUpdate<tbioudb022>().IfExistsDoNothing().SetSource(new tbioudb022 { id = 2, name = "02" });
|
iou = fsql.InsertOrUpdate<tbioudb022>().IfExistsDoNothing().SetSource(new tbioudb022 { id = 2, name = "02" });
|
||||||
sql = iou.ToSql();
|
sql = iou.ToSql();
|
||||||
Assert.Equal(@"INSERT INTO `tbioudb022`(`id`, `name`) SELECT 2, '02'
|
Assert.Equal(@"INSERT IGNORE INTO `tbioudb022`(`id`, `name`) VALUES(2, '02')", sql);
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb022` a
|
|
||||||
WHERE (a.`id` = 2)
|
|
||||||
limit 0,1)", sql);
|
|
||||||
Assert.Equal(1, iou.ExecuteAffrows());
|
Assert.Equal(1, iou.ExecuteAffrows());
|
||||||
|
|
||||||
iou = fsql.InsertOrUpdate<tbioudb022>().IfExistsDoNothing().SetSource(new[] { new tbioudb022 { id = 1, name = "01" }, new tbioudb022 { id = 2, name = "02" }, new tbioudb022 { id = 3, name = "03" }, new tbioudb022 { id = 4, name = "04" } });
|
iou = fsql.InsertOrUpdate<tbioudb022>().IfExistsDoNothing().SetSource(new[] { new tbioudb022 { id = 1, name = "01" }, new tbioudb022 { id = 2, name = "02" }, new tbioudb022 { id = 3, name = "03" }, new tbioudb022 { id = 4, name = "04" } });
|
||||||
sql = iou.ToSql();
|
sql = iou.ToSql();
|
||||||
Assert.Equal(@"INSERT INTO `tbioudb022`(`id`, `name`) SELECT 1, '01'
|
Assert.Equal(@"INSERT IGNORE INTO `tbioudb022`(`id`, `name`) VALUES(1, '01'), (2, '02'), (3, '03'), (4, '04')", sql);
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb022` a
|
|
||||||
WHERE (a.`id` = 1)
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 2, '02'
|
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb022` a
|
|
||||||
WHERE (a.`id` = 2)
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 3, '03'
|
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb022` a
|
|
||||||
WHERE (a.`id` = 3)
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 4, '04'
|
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb022` a
|
|
||||||
WHERE (a.`id` = 4)
|
|
||||||
limit 0,1)", sql);
|
|
||||||
Assert.Equal(2, iou.ExecuteAffrows());
|
Assert.Equal(2, iou.ExecuteAffrows());
|
||||||
|
|
||||||
iou = fsql.InsertOrUpdate<tbioudb022>().IfExistsDoNothing().SetSource(new[] { new tbioudb022 { id = 1, name = "001" }, new tbioudb022 { id = 2, name = "002" }, new tbioudb022 { id = 3, name = "003" }, new tbioudb022 { id = 4, name = "004" } });
|
iou = fsql.InsertOrUpdate<tbioudb022>().IfExistsDoNothing().SetSource(new[] { new tbioudb022 { id = 1, name = "001" }, new tbioudb022 { id = 2, name = "002" }, new tbioudb022 { id = 3, name = "003" }, new tbioudb022 { id = 4, name = "004" } });
|
||||||
sql = iou.ToSql();
|
sql = iou.ToSql();
|
||||||
Assert.Equal(@"INSERT INTO `tbioudb022`(`id`, `name`) SELECT 1, '001'
|
Assert.Equal(@"INSERT IGNORE INTO `tbioudb022`(`id`, `name`) VALUES(1, '001'), (2, '002'), (3, '003'), (4, '004')", sql);
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb022` a
|
|
||||||
WHERE (a.`id` = 1)
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 2, '002'
|
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb022` a
|
|
||||||
WHERE (a.`id` = 2)
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 3, '003'
|
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb022` a
|
|
||||||
WHERE (a.`id` = 3)
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 4, '004'
|
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb022` a
|
|
||||||
WHERE (a.`id` = 4)
|
|
||||||
limit 0,1)", sql);
|
|
||||||
Assert.Equal(0, iou.ExecuteAffrows());
|
Assert.Equal(0, iou.ExecuteAffrows());
|
||||||
var lst = fsql.Select<tbioudb022>().Where(a => new[] { 1, 2, 3, 4 }.Contains(a.id)).ToList();
|
var lst = fsql.Select<tbioudb022>().Where(a => new[] { 1, 2, 3, 4 }.Contains(a.id)).ToList();
|
||||||
Assert.Equal(4, lst.Where(a => a.name == "0" + a.id).Count());
|
Assert.Equal(4, lst.Where(a => a.name == "0" + a.id).Count());
|
||||||
@ -219,29 +107,7 @@ UNION ALL
|
|||||||
//--no primary and yes
|
//--no primary and yes
|
||||||
iou = fsql.InsertOrUpdate<tbioudb022>().IfExistsDoNothing().SetSource(new[] { new tbioudb022 { id = 1, name = "100001" }, new tbioudb022 { name = "00001" }, new tbioudb022 { id = 2, name = "100002" }, new tbioudb022 { name = "00002" }, new tbioudb022 { id = 3, name = "100003" }, new tbioudb022 { name = "00003" }, new tbioudb022 { id = 4, name = "100004" }, new tbioudb022 { name = "00004" } });
|
iou = fsql.InsertOrUpdate<tbioudb022>().IfExistsDoNothing().SetSource(new[] { new tbioudb022 { id = 1, name = "100001" }, new tbioudb022 { name = "00001" }, new tbioudb022 { id = 2, name = "100002" }, new tbioudb022 { name = "00002" }, new tbioudb022 { id = 3, name = "100003" }, new tbioudb022 { name = "00003" }, new tbioudb022 { id = 4, name = "100004" }, new tbioudb022 { name = "00004" } });
|
||||||
sql = iou.ToSql();
|
sql = iou.ToSql();
|
||||||
Assert.Equal(@"INSERT INTO `tbioudb022`(`id`, `name`) SELECT 1, '100001'
|
Assert.Equal(@"INSERT IGNORE INTO `tbioudb022`(`id`, `name`) VALUES(1, '100001'), (2, '100002'), (3, '100003'), (4, '100004')
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb022` a
|
|
||||||
WHERE (a.`id` = 1)
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 2, '100002'
|
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb022` a
|
|
||||||
WHERE (a.`id` = 2)
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 3, '100003'
|
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb022` a
|
|
||||||
WHERE (a.`id` = 3)
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 4, '100004'
|
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb022` a
|
|
||||||
WHERE (a.`id` = 4)
|
|
||||||
limit 0,1)
|
|
||||||
|
|
||||||
;
|
;
|
||||||
|
|
||||||
@ -263,83 +129,27 @@ INSERT INTO `tbioudb022`(`name`) VALUES('00001'), ('00002'), ('00003'), ('00004'
|
|||||||
fsql.Delete<tbioudb03>().Where("1=1").ExecuteAffrows();
|
fsql.Delete<tbioudb03>().Where("1=1").ExecuteAffrows();
|
||||||
var iou = fsql.InsertOrUpdate<tbioudb03>().IfExistsDoNothing().SetSource(new tbioudb03 { id1 = 1, id2 = "01", name = "01" });
|
var iou = fsql.InsertOrUpdate<tbioudb03>().IfExistsDoNothing().SetSource(new tbioudb03 { id1 = 1, id2 = "01", name = "01" });
|
||||||
var sql = iou.ToSql();
|
var sql = iou.ToSql();
|
||||||
Assert.Equal(@"INSERT INTO `tbioudb03`(`id1`, `id2`, `name`) SELECT 1, '01', '01'
|
Assert.Equal(@"INSERT IGNORE INTO `tbioudb03`(`id1`, `id2`, `name`) VALUES(1, '01', '01')", sql);
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb03` a
|
|
||||||
WHERE (a.`id1` = 1 AND a.`id2` = '01')
|
|
||||||
limit 0,1)", sql);
|
|
||||||
Assert.Equal(1, iou.ExecuteAffrows());
|
Assert.Equal(1, iou.ExecuteAffrows());
|
||||||
|
|
||||||
iou = fsql.InsertOrUpdate<tbioudb03>().IfExistsDoNothing().SetSource(new tbioudb03 { id1 = 1, id2 = "01", name = "011" });
|
iou = fsql.InsertOrUpdate<tbioudb03>().IfExistsDoNothing().SetSource(new tbioudb03 { id1 = 1, id2 = "01", name = "011" });
|
||||||
sql = iou.ToSql();
|
sql = iou.ToSql();
|
||||||
Assert.Equal(@"INSERT INTO `tbioudb03`(`id1`, `id2`, `name`) SELECT 1, '01', '011'
|
Assert.Equal(@"INSERT IGNORE INTO `tbioudb03`(`id1`, `id2`, `name`) VALUES(1, '01', '011')", sql);
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb03` a
|
|
||||||
WHERE (a.`id1` = 1 AND a.`id2` = '01')
|
|
||||||
limit 0,1)", sql);
|
|
||||||
Assert.Equal(0, iou.ExecuteAffrows());
|
Assert.Equal(0, iou.ExecuteAffrows());
|
||||||
|
|
||||||
iou = fsql.InsertOrUpdate<tbioudb03>().IfExistsDoNothing().SetSource(new tbioudb03 { id1 = 2, id2 = "02", name = "02" });
|
iou = fsql.InsertOrUpdate<tbioudb03>().IfExistsDoNothing().SetSource(new tbioudb03 { id1 = 2, id2 = "02", name = "02" });
|
||||||
sql = iou.ToSql();
|
sql = iou.ToSql();
|
||||||
Assert.Equal(@"INSERT INTO `tbioudb03`(`id1`, `id2`, `name`) SELECT 2, '02', '02'
|
Assert.Equal(@"INSERT IGNORE INTO `tbioudb03`(`id1`, `id2`, `name`) VALUES(2, '02', '02')", sql);
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb03` a
|
|
||||||
WHERE (a.`id1` = 2 AND a.`id2` = '02')
|
|
||||||
limit 0,1)", sql);
|
|
||||||
Assert.Equal(1, iou.ExecuteAffrows());
|
Assert.Equal(1, iou.ExecuteAffrows());
|
||||||
|
|
||||||
iou = fsql.InsertOrUpdate<tbioudb03>().IfExistsDoNothing().SetSource(new[] { new tbioudb03 { id1 = 1, id2 = "01", name = "01" }, new tbioudb03 { id1 = 2, id2 = "02", name = "02" }, new tbioudb03 { id1 = 3, id2 = "03", name = "03" }, new tbioudb03 { id1 = 4, id2 = "04", name = "04" } });
|
iou = fsql.InsertOrUpdate<tbioudb03>().IfExistsDoNothing().SetSource(new[] { new tbioudb03 { id1 = 1, id2 = "01", name = "01" }, new tbioudb03 { id1 = 2, id2 = "02", name = "02" }, new tbioudb03 { id1 = 3, id2 = "03", name = "03" }, new tbioudb03 { id1 = 4, id2 = "04", name = "04" } });
|
||||||
sql = iou.ToSql();
|
sql = iou.ToSql();
|
||||||
Assert.Equal(@"INSERT INTO `tbioudb03`(`id1`, `id2`, `name`) SELECT 1, '01', '01'
|
Assert.Equal(@"INSERT IGNORE INTO `tbioudb03`(`id1`, `id2`, `name`) VALUES(1, '01', '01'), (2, '02', '02'), (3, '03', '03'), (4, '04', '04')", sql);
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb03` a
|
|
||||||
WHERE (a.`id1` = 1 AND a.`id2` = '01')
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 2, '02', '02'
|
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb03` a
|
|
||||||
WHERE (a.`id1` = 2 AND a.`id2` = '02')
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 3, '03', '03'
|
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb03` a
|
|
||||||
WHERE (a.`id1` = 3 AND a.`id2` = '03')
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 4, '04', '04'
|
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb03` a
|
|
||||||
WHERE (a.`id1` = 4 AND a.`id2` = '04')
|
|
||||||
limit 0,1)", sql);
|
|
||||||
Assert.Equal(2, iou.ExecuteAffrows());
|
Assert.Equal(2, iou.ExecuteAffrows());
|
||||||
|
|
||||||
iou = fsql.InsertOrUpdate<tbioudb03>().IfExistsDoNothing().SetSource(new[] { new tbioudb03 { id1 = 1, id2 = "01", name = "001" }, new tbioudb03 { id1 = 2, id2 = "02", name = "002" }, new tbioudb03 { id1 = 3, id2 = "03", name = "003" }, new tbioudb03 { id1 = 4, id2 = "04", name = "004" } });
|
iou = fsql.InsertOrUpdate<tbioudb03>().IfExistsDoNothing().SetSource(new[] { new tbioudb03 { id1 = 1, id2 = "01", name = "001" }, new tbioudb03 { id1 = 2, id2 = "02", name = "002" }, new tbioudb03 { id1 = 3, id2 = "03", name = "003" }, new tbioudb03 { id1 = 4, id2 = "04", name = "004" } });
|
||||||
sql = iou.ToSql();
|
sql = iou.ToSql();
|
||||||
Assert.Equal(@"INSERT INTO `tbioudb03`(`id1`, `id2`, `name`) SELECT 1, '01', '001'
|
Assert.Equal(@"INSERT IGNORE INTO `tbioudb03`(`id1`, `id2`, `name`) VALUES(1, '01', '001'), (2, '02', '002'), (3, '03', '003'), (4, '04', '004')", sql);
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb03` a
|
|
||||||
WHERE (a.`id1` = 1 AND a.`id2` = '01')
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 2, '02', '002'
|
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb03` a
|
|
||||||
WHERE (a.`id1` = 2 AND a.`id2` = '02')
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 3, '03', '003'
|
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb03` a
|
|
||||||
WHERE (a.`id1` = 3 AND a.`id2` = '03')
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 4, '04', '004'
|
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb03` a
|
|
||||||
WHERE (a.`id1` = 4 AND a.`id2` = '04')
|
|
||||||
limit 0,1)", sql);
|
|
||||||
Assert.Equal(0, iou.ExecuteAffrows());
|
Assert.Equal(0, iou.ExecuteAffrows());
|
||||||
var lst = fsql.Select<tbioudb03>().Where(a => a.id1 == 1 && a.id2 == "01" || a.id1 == 2 && a.id2 == "02" || a.id1 == 3 && a.id2 == "03" || a.id1 == 4 && a.id2 == "04").ToList();
|
var lst = fsql.Select<tbioudb03>().Where(a => a.id1 == 1 && a.id2 == "01" || a.id1 == 2 && a.id2 == "02" || a.id1 == 3 && a.id2 == "03" || a.id1 == 4 && a.id2 == "04").ToList();
|
||||||
Assert.Equal(4, lst.Where(a => a.name == "0" + a.id1).Count());
|
Assert.Equal(4, lst.Where(a => a.name == "0" + a.id1).Count());
|
||||||
@ -359,83 +169,27 @@ UNION ALL
|
|||||||
fsql.Delete<tbioudb04>().Where("1=1").ExecuteAffrows();
|
fsql.Delete<tbioudb04>().Where("1=1").ExecuteAffrows();
|
||||||
var iou = fsql.InsertOrUpdate<tbioudb04>().IfExistsDoNothing().SetSource(new tbioudb04 { id = 1, name = "01" });
|
var iou = fsql.InsertOrUpdate<tbioudb04>().IfExistsDoNothing().SetSource(new tbioudb04 { id = 1, name = "01" });
|
||||||
var sql = iou.ToSql();
|
var sql = iou.ToSql();
|
||||||
Assert.Equal(@"INSERT INTO `tbioudb04`(`id`, `name`, `version`, `CreateTime`) SELECT 1, '01', 0, now(3)
|
Assert.Equal(@"INSERT IGNORE INTO `tbioudb04`(`id`, `name`, `version`, `CreateTime`) VALUES(1, '01', 0, now(3))", sql);
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb04` a
|
|
||||||
WHERE (a.`id` = 1)
|
|
||||||
limit 0,1)", sql);
|
|
||||||
Assert.Equal(1, iou.ExecuteAffrows());
|
Assert.Equal(1, iou.ExecuteAffrows());
|
||||||
|
|
||||||
iou = fsql.InsertOrUpdate<tbioudb04>().IfExistsDoNothing().SetSource(new tbioudb04 { id = 1, name = "011" });
|
iou = fsql.InsertOrUpdate<tbioudb04>().IfExistsDoNothing().SetSource(new tbioudb04 { id = 1, name = "011" });
|
||||||
sql = iou.ToSql();
|
sql = iou.ToSql();
|
||||||
Assert.Equal(@"INSERT INTO `tbioudb04`(`id`, `name`, `version`, `CreateTime`) SELECT 1, '011', 0, now(3)
|
Assert.Equal(@"INSERT IGNORE INTO `tbioudb04`(`id`, `name`, `version`, `CreateTime`) VALUES(1, '011', 0, now(3))", sql);
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb04` a
|
|
||||||
WHERE (a.`id` = 1)
|
|
||||||
limit 0,1)", sql);
|
|
||||||
Assert.Equal(0, iou.ExecuteAffrows());
|
Assert.Equal(0, iou.ExecuteAffrows());
|
||||||
|
|
||||||
iou = fsql.InsertOrUpdate<tbioudb04>().IfExistsDoNothing().SetSource(new tbioudb04 { id = 2, name = "02" });
|
iou = fsql.InsertOrUpdate<tbioudb04>().IfExistsDoNothing().SetSource(new tbioudb04 { id = 2, name = "02" });
|
||||||
sql = iou.ToSql();
|
sql = iou.ToSql();
|
||||||
Assert.Equal(@"INSERT INTO `tbioudb04`(`id`, `name`, `version`, `CreateTime`) SELECT 2, '02', 0, now(3)
|
Assert.Equal(@"INSERT IGNORE INTO `tbioudb04`(`id`, `name`, `version`, `CreateTime`) VALUES(2, '02', 0, now(3))", sql);
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb04` a
|
|
||||||
WHERE (a.`id` = 2)
|
|
||||||
limit 0,1)", sql);
|
|
||||||
Assert.Equal(1, iou.ExecuteAffrows());
|
Assert.Equal(1, iou.ExecuteAffrows());
|
||||||
|
|
||||||
iou = fsql.InsertOrUpdate<tbioudb04>().IfExistsDoNothing().SetSource(new[] { new tbioudb04 { id = 1, name = "01" }, new tbioudb04 { id = 2, name = "02" }, new tbioudb04 { id = 3, name = "03" }, new tbioudb04 { id = 4, name = "04" } });
|
iou = fsql.InsertOrUpdate<tbioudb04>().IfExistsDoNothing().SetSource(new[] { new tbioudb04 { id = 1, name = "01" }, new tbioudb04 { id = 2, name = "02" }, new tbioudb04 { id = 3, name = "03" }, new tbioudb04 { id = 4, name = "04" } });
|
||||||
sql = iou.ToSql();
|
sql = iou.ToSql();
|
||||||
Assert.Equal(@"INSERT INTO `tbioudb04`(`id`, `name`, `version`, `CreateTime`) SELECT 1, '01', 0, now(3)
|
Assert.Equal(@"INSERT IGNORE INTO `tbioudb04`(`id`, `name`, `version`, `CreateTime`) VALUES(1, '01', 0, now(3)), (2, '02', 0, now(3)), (3, '03', 0, now(3)), (4, '04', 0, now(3))", sql);
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb04` a
|
|
||||||
WHERE (a.`id` = 1)
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 2, '02', 0, now(3)
|
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb04` a
|
|
||||||
WHERE (a.`id` = 2)
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 3, '03', 0, now(3)
|
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb04` a
|
|
||||||
WHERE (a.`id` = 3)
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 4, '04', 0, now(3)
|
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb04` a
|
|
||||||
WHERE (a.`id` = 4)
|
|
||||||
limit 0,1)", sql);
|
|
||||||
Assert.Equal(2, iou.ExecuteAffrows());
|
Assert.Equal(2, iou.ExecuteAffrows());
|
||||||
|
|
||||||
iou = fsql.InsertOrUpdate<tbioudb04>().IfExistsDoNothing().SetSource(new[] { new tbioudb04 { id = 1, name = "001" }, new tbioudb04 { id = 2, name = "002" }, new tbioudb04 { id = 3, name = "003" }, new tbioudb04 { id = 4, name = "004" } });
|
iou = fsql.InsertOrUpdate<tbioudb04>().IfExistsDoNothing().SetSource(new[] { new tbioudb04 { id = 1, name = "001" }, new tbioudb04 { id = 2, name = "002" }, new tbioudb04 { id = 3, name = "003" }, new tbioudb04 { id = 4, name = "004" } });
|
||||||
sql = iou.ToSql();
|
sql = iou.ToSql();
|
||||||
Assert.Equal(@"INSERT INTO `tbioudb04`(`id`, `name`, `version`, `CreateTime`) SELECT 1, '001', 0, now(3)
|
Assert.Equal(@"INSERT IGNORE INTO `tbioudb04`(`id`, `name`, `version`, `CreateTime`) VALUES(1, '001', 0, now(3)), (2, '002', 0, now(3)), (3, '003', 0, now(3)), (4, '004', 0, now(3))", sql);
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb04` a
|
|
||||||
WHERE (a.`id` = 1)
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 2, '002', 0, now(3)
|
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb04` a
|
|
||||||
WHERE (a.`id` = 2)
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 3, '003', 0, now(3)
|
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb04` a
|
|
||||||
WHERE (a.`id` = 3)
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 4, '004', 0, now(3)
|
|
||||||
FROM dual WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM `tbioudb04` a
|
|
||||||
WHERE (a.`id` = 4)
|
|
||||||
limit 0,1)", sql);
|
|
||||||
Assert.Equal(0, iou.ExecuteAffrows());
|
Assert.Equal(0, iou.ExecuteAffrows());
|
||||||
var lst = fsql.Select<tbioudb04>().Where(a => new[] { 1, 2, 3, 4 }.Contains(a.id)).ToList();
|
var lst = fsql.Select<tbioudb04>().Where(a => new[] { 1, 2, 3, 4 }.Contains(a.id)).ToList();
|
||||||
Assert.Equal(4, lst.Where(a => a.name == "0" + a.id).Count());
|
Assert.Equal(4, lst.Where(a => a.name == "0" + a.id).Count());
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
using FreeSql.DataAnnotations;
|
using FreeSql.DataAnnotations;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
@ -17,83 +17,27 @@ namespace FreeSql.Tests.Sqlite
|
|||||||
fsql.Delete<tbioudb02>().Where("1=1").ExecuteAffrows();
|
fsql.Delete<tbioudb02>().Where("1=1").ExecuteAffrows();
|
||||||
var iou = fsql.InsertOrUpdate<tbioudb02>().IfExistsDoNothing().SetSource(new tbioudb02 { id = 1, name = "01" });
|
var iou = fsql.InsertOrUpdate<tbioudb02>().IfExistsDoNothing().SetSource(new tbioudb02 { id = 1, name = "01" });
|
||||||
var sql = iou.ToSql();
|
var sql = iou.ToSql();
|
||||||
Assert.Equal(@"INSERT INTO ""tbioudb02""(""id"", ""name"") SELECT 1, '01'
|
Assert.Equal(@"INSERT OR IGNORE INTO ""tbioudb02""(""id"", ""name"") VALUES(1, '01')", sql);
|
||||||
WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM ""tbioudb02"" a
|
|
||||||
WHERE (a.""id"" = 1)
|
|
||||||
limit 0,1)", sql);
|
|
||||||
Assert.Equal(1, iou.ExecuteAffrows());
|
Assert.Equal(1, iou.ExecuteAffrows());
|
||||||
|
|
||||||
iou = fsql.InsertOrUpdate<tbioudb02>().IfExistsDoNothing().SetSource(new tbioudb02 { id = 1, name = "011" });
|
iou = fsql.InsertOrUpdate<tbioudb02>().IfExistsDoNothing().SetSource(new tbioudb02 { id = 1, name = "011" });
|
||||||
sql = iou.ToSql();
|
sql = iou.ToSql();
|
||||||
Assert.Equal(@"INSERT INTO ""tbioudb02""(""id"", ""name"") SELECT 1, '011'
|
Assert.Equal(@"INSERT OR IGNORE INTO ""tbioudb02""(""id"", ""name"") VALUES(1, '011')", sql);
|
||||||
WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM ""tbioudb02"" a
|
|
||||||
WHERE (a.""id"" = 1)
|
|
||||||
limit 0,1)", sql);
|
|
||||||
Assert.Equal(0, iou.ExecuteAffrows());
|
Assert.Equal(0, iou.ExecuteAffrows());
|
||||||
|
|
||||||
iou = fsql.InsertOrUpdate<tbioudb02>().IfExistsDoNothing().SetSource(new tbioudb02 { id = 2, name = "02" });
|
iou = fsql.InsertOrUpdate<tbioudb02>().IfExistsDoNothing().SetSource(new tbioudb02 { id = 2, name = "02" });
|
||||||
sql = iou.ToSql();
|
sql = iou.ToSql();
|
||||||
Assert.Equal(@"INSERT INTO ""tbioudb02""(""id"", ""name"") SELECT 2, '02'
|
Assert.Equal(@"INSERT OR IGNORE INTO ""tbioudb02""(""id"", ""name"") VALUES(2, '02')", sql);
|
||||||
WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM ""tbioudb02"" a
|
|
||||||
WHERE (a.""id"" = 2)
|
|
||||||
limit 0,1)", sql);
|
|
||||||
Assert.Equal(1, iou.ExecuteAffrows());
|
Assert.Equal(1, iou.ExecuteAffrows());
|
||||||
|
|
||||||
iou = fsql.InsertOrUpdate<tbioudb02>().IfExistsDoNothing().SetSource(new[] { new tbioudb02 { id = 1, name = "01" }, new tbioudb02 { id = 2, name = "02" }, new tbioudb02 { id = 3, name = "03" }, new tbioudb02 { id = 4, name = "04" } });
|
iou = fsql.InsertOrUpdate<tbioudb02>().IfExistsDoNothing().SetSource(new[] { new tbioudb02 { id = 1, name = "01" }, new tbioudb02 { id = 2, name = "02" }, new tbioudb02 { id = 3, name = "03" }, new tbioudb02 { id = 4, name = "04" } });
|
||||||
sql = iou.ToSql();
|
sql = iou.ToSql();
|
||||||
Assert.Equal(@"INSERT INTO ""tbioudb02""(""id"", ""name"") SELECT 1, '01'
|
Assert.Equal(@"INSERT OR IGNORE INTO ""tbioudb02""(""id"", ""name"") VALUES(1, '01'), (2, '02'), (3, '03'), (4, '04')", sql);
|
||||||
WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM ""tbioudb02"" a
|
|
||||||
WHERE (a.""id"" = 1)
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 2, '02'
|
|
||||||
WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM ""tbioudb02"" a
|
|
||||||
WHERE (a.""id"" = 2)
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 3, '03'
|
|
||||||
WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM ""tbioudb02"" a
|
|
||||||
WHERE (a.""id"" = 3)
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 4, '04'
|
|
||||||
WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM ""tbioudb02"" a
|
|
||||||
WHERE (a.""id"" = 4)
|
|
||||||
limit 0,1)", sql);
|
|
||||||
Assert.Equal(2, iou.ExecuteAffrows());
|
Assert.Equal(2, iou.ExecuteAffrows());
|
||||||
|
|
||||||
iou = fsql.InsertOrUpdate<tbioudb02>().IfExistsDoNothing().SetSource(new[] { new tbioudb02 { id = 1, name = "001" }, new tbioudb02 { id = 2, name = "002" }, new tbioudb02 { id = 3, name = "003" }, new tbioudb02 { id = 4, name = "004" } });
|
iou = fsql.InsertOrUpdate<tbioudb02>().IfExistsDoNothing().SetSource(new[] { new tbioudb02 { id = 1, name = "001" }, new tbioudb02 { id = 2, name = "002" }, new tbioudb02 { id = 3, name = "003" }, new tbioudb02 { id = 4, name = "004" } });
|
||||||
sql = iou.ToSql();
|
sql = iou.ToSql();
|
||||||
Assert.Equal(@"INSERT INTO ""tbioudb02""(""id"", ""name"") SELECT 1, '001'
|
Assert.Equal(@"INSERT OR IGNORE INTO ""tbioudb02""(""id"", ""name"") VALUES(1, '001'), (2, '002'), (3, '003'), (4, '004')", sql);
|
||||||
WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM ""tbioudb02"" a
|
|
||||||
WHERE (a.""id"" = 1)
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 2, '002'
|
|
||||||
WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM ""tbioudb02"" a
|
|
||||||
WHERE (a.""id"" = 2)
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 3, '003'
|
|
||||||
WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM ""tbioudb02"" a
|
|
||||||
WHERE (a.""id"" = 3)
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 4, '004'
|
|
||||||
WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM ""tbioudb02"" a
|
|
||||||
WHERE (a.""id"" = 4)
|
|
||||||
limit 0,1)", sql);
|
|
||||||
Assert.Equal(0, iou.ExecuteAffrows());
|
Assert.Equal(0, iou.ExecuteAffrows());
|
||||||
var lst = fsql.Select<tbioudb02>().Where(a => new[] { 1, 2, 3, 4 }.Contains(a.id)).ToList();
|
var lst = fsql.Select<tbioudb02>().Where(a => new[] { 1, 2, 3, 4 }.Contains(a.id)).ToList();
|
||||||
Assert.Equal(4, lst.Where(a => a.name == "0" + a.id).Count());
|
Assert.Equal(4, lst.Where(a => a.name == "0" + a.id).Count());
|
||||||
@ -109,83 +53,27 @@ UNION ALL
|
|||||||
fsql.Delete<tbioudb022>().Where("1=1").ExecuteAffrows();
|
fsql.Delete<tbioudb022>().Where("1=1").ExecuteAffrows();
|
||||||
var iou = fsql.InsertOrUpdate<tbioudb022>().IfExistsDoNothing().SetSource(new tbioudb022 { id = 1, name = "01" });
|
var iou = fsql.InsertOrUpdate<tbioudb022>().IfExistsDoNothing().SetSource(new tbioudb022 { id = 1, name = "01" });
|
||||||
var sql = iou.ToSql();
|
var sql = iou.ToSql();
|
||||||
Assert.Equal(@"INSERT INTO ""tbioudb022""(""id"", ""name"") SELECT 1, '01'
|
Assert.Equal(@"INSERT OR IGNORE INTO ""tbioudb022""(""id"", ""name"") VALUES(1, '01')", sql);
|
||||||
WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM ""tbioudb022"" a
|
|
||||||
WHERE (a.""id"" = 1)
|
|
||||||
limit 0,1)", sql);
|
|
||||||
Assert.Equal(1, iou.ExecuteAffrows());
|
Assert.Equal(1, iou.ExecuteAffrows());
|
||||||
|
|
||||||
iou = fsql.InsertOrUpdate<tbioudb022>().IfExistsDoNothing().SetSource(new tbioudb022 { id = 1, name = "011" });
|
iou = fsql.InsertOrUpdate<tbioudb022>().IfExistsDoNothing().SetSource(new tbioudb022 { id = 1, name = "011" });
|
||||||
sql = iou.ToSql();
|
sql = iou.ToSql();
|
||||||
Assert.Equal(@"INSERT INTO ""tbioudb022""(""id"", ""name"") SELECT 1, '011'
|
Assert.Equal(@"INSERT OR IGNORE INTO ""tbioudb022""(""id"", ""name"") VALUES(1, '011')", sql);
|
||||||
WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM ""tbioudb022"" a
|
|
||||||
WHERE (a.""id"" = 1)
|
|
||||||
limit 0,1)", sql);
|
|
||||||
Assert.Equal(0, iou.ExecuteAffrows());
|
Assert.Equal(0, iou.ExecuteAffrows());
|
||||||
|
|
||||||
iou = fsql.InsertOrUpdate<tbioudb022>().IfExistsDoNothing().SetSource(new tbioudb022 { id = 2, name = "02" });
|
iou = fsql.InsertOrUpdate<tbioudb022>().IfExistsDoNothing().SetSource(new tbioudb022 { id = 2, name = "02" });
|
||||||
sql = iou.ToSql();
|
sql = iou.ToSql();
|
||||||
Assert.Equal(@"INSERT INTO ""tbioudb022""(""id"", ""name"") SELECT 2, '02'
|
Assert.Equal(@"INSERT OR IGNORE INTO ""tbioudb022""(""id"", ""name"") VALUES(2, '02')", sql);
|
||||||
WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM ""tbioudb022"" a
|
|
||||||
WHERE (a.""id"" = 2)
|
|
||||||
limit 0,1)", sql);
|
|
||||||
Assert.Equal(1, iou.ExecuteAffrows());
|
Assert.Equal(1, iou.ExecuteAffrows());
|
||||||
|
|
||||||
iou = fsql.InsertOrUpdate<tbioudb022>().IfExistsDoNothing().SetSource(new[] { new tbioudb022 { id = 1, name = "01" }, new tbioudb022 { id = 2, name = "02" }, new tbioudb022 { id = 3, name = "03" }, new tbioudb022 { id = 4, name = "04" } });
|
iou = fsql.InsertOrUpdate<tbioudb022>().IfExistsDoNothing().SetSource(new[] { new tbioudb022 { id = 1, name = "01" }, new tbioudb022 { id = 2, name = "02" }, new tbioudb022 { id = 3, name = "03" }, new tbioudb022 { id = 4, name = "04" } });
|
||||||
sql = iou.ToSql();
|
sql = iou.ToSql();
|
||||||
Assert.Equal(@"INSERT INTO ""tbioudb022""(""id"", ""name"") SELECT 1, '01'
|
Assert.Equal(@"INSERT OR IGNORE INTO ""tbioudb022""(""id"", ""name"") VALUES(1, '01'), (2, '02'), (3, '03'), (4, '04')", sql);
|
||||||
WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM ""tbioudb022"" a
|
|
||||||
WHERE (a.""id"" = 1)
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 2, '02'
|
|
||||||
WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM ""tbioudb022"" a
|
|
||||||
WHERE (a.""id"" = 2)
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 3, '03'
|
|
||||||
WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM ""tbioudb022"" a
|
|
||||||
WHERE (a.""id"" = 3)
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 4, '04'
|
|
||||||
WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM ""tbioudb022"" a
|
|
||||||
WHERE (a.""id"" = 4)
|
|
||||||
limit 0,1)", sql);
|
|
||||||
Assert.Equal(2, iou.ExecuteAffrows());
|
Assert.Equal(2, iou.ExecuteAffrows());
|
||||||
|
|
||||||
iou = fsql.InsertOrUpdate<tbioudb022>().IfExistsDoNothing().SetSource(new[] { new tbioudb022 { id = 1, name = "001" }, new tbioudb022 { id = 2, name = "002" }, new tbioudb022 { id = 3, name = "003" }, new tbioudb022 { id = 4, name = "004" } });
|
iou = fsql.InsertOrUpdate<tbioudb022>().IfExistsDoNothing().SetSource(new[] { new tbioudb022 { id = 1, name = "001" }, new tbioudb022 { id = 2, name = "002" }, new tbioudb022 { id = 3, name = "003" }, new tbioudb022 { id = 4, name = "004" } });
|
||||||
sql = iou.ToSql();
|
sql = iou.ToSql();
|
||||||
Assert.Equal(@"INSERT INTO ""tbioudb022""(""id"", ""name"") SELECT 1, '001'
|
Assert.Equal(@"INSERT OR IGNORE INTO ""tbioudb022""(""id"", ""name"") VALUES(1, '001'), (2, '002'), (3, '003'), (4, '004')", sql);
|
||||||
WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM ""tbioudb022"" a
|
|
||||||
WHERE (a.""id"" = 1)
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 2, '002'
|
|
||||||
WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM ""tbioudb022"" a
|
|
||||||
WHERE (a.""id"" = 2)
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 3, '003'
|
|
||||||
WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM ""tbioudb022"" a
|
|
||||||
WHERE (a.""id"" = 3)
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 4, '004'
|
|
||||||
WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM ""tbioudb022"" a
|
|
||||||
WHERE (a.""id"" = 4)
|
|
||||||
limit 0,1)", sql);
|
|
||||||
Assert.Equal(0, iou.ExecuteAffrows());
|
Assert.Equal(0, iou.ExecuteAffrows());
|
||||||
var lst = fsql.Select<tbioudb022>().Where(a => new[] { 1, 2, 3, 4 }.Contains(a.id)).ToList();
|
var lst = fsql.Select<tbioudb022>().Where(a => new[] { 1, 2, 3, 4 }.Contains(a.id)).ToList();
|
||||||
Assert.Equal(4, lst.Where(a => a.name == "0" + a.id).Count());
|
Assert.Equal(4, lst.Where(a => a.name == "0" + a.id).Count());
|
||||||
@ -219,29 +107,7 @@ UNION ALL
|
|||||||
//--no primary and yes
|
//--no primary and yes
|
||||||
iou = fsql.InsertOrUpdate<tbioudb022>().IfExistsDoNothing().SetSource(new[] { new tbioudb022 { id = 1, name = "100001" }, new tbioudb022 { name = "00001" }, new tbioudb022 { id = 2, name = "100002" }, new tbioudb022 { name = "00002" }, new tbioudb022 { id = 3, name = "100003" }, new tbioudb022 { name = "00003" }, new tbioudb022 { id = 4, name = "100004" }, new tbioudb022 { name = "00004" } });
|
iou = fsql.InsertOrUpdate<tbioudb022>().IfExistsDoNothing().SetSource(new[] { new tbioudb022 { id = 1, name = "100001" }, new tbioudb022 { name = "00001" }, new tbioudb022 { id = 2, name = "100002" }, new tbioudb022 { name = "00002" }, new tbioudb022 { id = 3, name = "100003" }, new tbioudb022 { name = "00003" }, new tbioudb022 { id = 4, name = "100004" }, new tbioudb022 { name = "00004" } });
|
||||||
sql = iou.ToSql();
|
sql = iou.ToSql();
|
||||||
Assert.Equal(@"INSERT INTO ""tbioudb022""(""id"", ""name"") SELECT 1, '100001'
|
Assert.Equal(@"INSERT OR IGNORE INTO ""tbioudb022""(""id"", ""name"") VALUES(1, '100001'), (2, '100002'), (3, '100003'), (4, '100004')
|
||||||
WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM ""tbioudb022"" a
|
|
||||||
WHERE (a.""id"" = 1)
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 2, '100002'
|
|
||||||
WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM ""tbioudb022"" a
|
|
||||||
WHERE (a.""id"" = 2)
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 3, '100003'
|
|
||||||
WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM ""tbioudb022"" a
|
|
||||||
WHERE (a.""id"" = 3)
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 4, '100004'
|
|
||||||
WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM ""tbioudb022"" a
|
|
||||||
WHERE (a.""id"" = 4)
|
|
||||||
limit 0,1)
|
|
||||||
|
|
||||||
;
|
;
|
||||||
|
|
||||||
@ -263,83 +129,27 @@ INSERT INTO ""tbioudb022""(""name"") VALUES('00001'), ('00002'), ('00003'), ('00
|
|||||||
fsql.Delete<tbioudb03>().Where("1=1").ExecuteAffrows();
|
fsql.Delete<tbioudb03>().Where("1=1").ExecuteAffrows();
|
||||||
var iou = fsql.InsertOrUpdate<tbioudb03>().IfExistsDoNothing().SetSource(new tbioudb03 { id1 = 1, id2 = "01", name = "01" });
|
var iou = fsql.InsertOrUpdate<tbioudb03>().IfExistsDoNothing().SetSource(new tbioudb03 { id1 = 1, id2 = "01", name = "01" });
|
||||||
var sql = iou.ToSql();
|
var sql = iou.ToSql();
|
||||||
Assert.Equal(@"INSERT INTO ""tbioudb03""(""id1"", ""id2"", ""name"") SELECT 1, '01', '01'
|
Assert.Equal(@"INSERT OR IGNORE INTO ""tbioudb03""(""id1"", ""id2"", ""name"") VALUES(1, '01', '01')", sql);
|
||||||
WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM ""tbioudb03"" a
|
|
||||||
WHERE (a.""id1"" = 1 AND a.""id2"" = '01')
|
|
||||||
limit 0,1)", sql);
|
|
||||||
Assert.Equal(1, iou.ExecuteAffrows());
|
Assert.Equal(1, iou.ExecuteAffrows());
|
||||||
|
|
||||||
iou = fsql.InsertOrUpdate<tbioudb03>().IfExistsDoNothing().SetSource(new tbioudb03 { id1 = 1, id2 = "01", name = "011" });
|
iou = fsql.InsertOrUpdate<tbioudb03>().IfExistsDoNothing().SetSource(new tbioudb03 { id1 = 1, id2 = "01", name = "011" });
|
||||||
sql = iou.ToSql();
|
sql = iou.ToSql();
|
||||||
Assert.Equal(@"INSERT INTO ""tbioudb03""(""id1"", ""id2"", ""name"") SELECT 1, '01', '011'
|
Assert.Equal(@"INSERT OR IGNORE INTO ""tbioudb03""(""id1"", ""id2"", ""name"") VALUES(1, '01', '011')", sql);
|
||||||
WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM ""tbioudb03"" a
|
|
||||||
WHERE (a.""id1"" = 1 AND a.""id2"" = '01')
|
|
||||||
limit 0,1)", sql);
|
|
||||||
Assert.Equal(0, iou.ExecuteAffrows());
|
Assert.Equal(0, iou.ExecuteAffrows());
|
||||||
|
|
||||||
iou = fsql.InsertOrUpdate<tbioudb03>().IfExistsDoNothing().SetSource(new tbioudb03 { id1 = 2, id2 = "02", name = "02" });
|
iou = fsql.InsertOrUpdate<tbioudb03>().IfExistsDoNothing().SetSource(new tbioudb03 { id1 = 2, id2 = "02", name = "02" });
|
||||||
sql = iou.ToSql();
|
sql = iou.ToSql();
|
||||||
Assert.Equal(@"INSERT INTO ""tbioudb03""(""id1"", ""id2"", ""name"") SELECT 2, '02', '02'
|
Assert.Equal(@"INSERT OR IGNORE INTO ""tbioudb03""(""id1"", ""id2"", ""name"") VALUES(2, '02', '02')", sql);
|
||||||
WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM ""tbioudb03"" a
|
|
||||||
WHERE (a.""id1"" = 2 AND a.""id2"" = '02')
|
|
||||||
limit 0,1)", sql);
|
|
||||||
Assert.Equal(1, iou.ExecuteAffrows());
|
Assert.Equal(1, iou.ExecuteAffrows());
|
||||||
|
|
||||||
iou = fsql.InsertOrUpdate<tbioudb03>().IfExistsDoNothing().SetSource(new[] { new tbioudb03 { id1 = 1, id2 = "01", name = "01" }, new tbioudb03 { id1 = 2, id2 = "02", name = "02" }, new tbioudb03 { id1 = 3, id2 = "03", name = "03" }, new tbioudb03 { id1 = 4, id2 = "04", name = "04" } });
|
iou = fsql.InsertOrUpdate<tbioudb03>().IfExistsDoNothing().SetSource(new[] { new tbioudb03 { id1 = 1, id2 = "01", name = "01" }, new tbioudb03 { id1 = 2, id2 = "02", name = "02" }, new tbioudb03 { id1 = 3, id2 = "03", name = "03" }, new tbioudb03 { id1 = 4, id2 = "04", name = "04" } });
|
||||||
sql = iou.ToSql();
|
sql = iou.ToSql();
|
||||||
Assert.Equal(@"INSERT INTO ""tbioudb03""(""id1"", ""id2"", ""name"") SELECT 1, '01', '01'
|
Assert.Equal(@"INSERT OR IGNORE INTO ""tbioudb03""(""id1"", ""id2"", ""name"") VALUES(1, '01', '01'), (2, '02', '02'), (3, '03', '03'), (4, '04', '04')", sql);
|
||||||
WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM ""tbioudb03"" a
|
|
||||||
WHERE (a.""id1"" = 1 AND a.""id2"" = '01')
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 2, '02', '02'
|
|
||||||
WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM ""tbioudb03"" a
|
|
||||||
WHERE (a.""id1"" = 2 AND a.""id2"" = '02')
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 3, '03', '03'
|
|
||||||
WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM ""tbioudb03"" a
|
|
||||||
WHERE (a.""id1"" = 3 AND a.""id2"" = '03')
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 4, '04', '04'
|
|
||||||
WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM ""tbioudb03"" a
|
|
||||||
WHERE (a.""id1"" = 4 AND a.""id2"" = '04')
|
|
||||||
limit 0,1)", sql);
|
|
||||||
Assert.Equal(2, iou.ExecuteAffrows());
|
Assert.Equal(2, iou.ExecuteAffrows());
|
||||||
|
|
||||||
iou = fsql.InsertOrUpdate<tbioudb03>().IfExistsDoNothing().SetSource(new[] { new tbioudb03 { id1 = 1, id2 = "01", name = "001" }, new tbioudb03 { id1 = 2, id2 = "02", name = "002" }, new tbioudb03 { id1 = 3, id2 = "03", name = "003" }, new tbioudb03 { id1 = 4, id2 = "04", name = "004" } });
|
iou = fsql.InsertOrUpdate<tbioudb03>().IfExistsDoNothing().SetSource(new[] { new tbioudb03 { id1 = 1, id2 = "01", name = "001" }, new tbioudb03 { id1 = 2, id2 = "02", name = "002" }, new tbioudb03 { id1 = 3, id2 = "03", name = "003" }, new tbioudb03 { id1 = 4, id2 = "04", name = "004" } });
|
||||||
sql = iou.ToSql();
|
sql = iou.ToSql();
|
||||||
Assert.Equal(@"INSERT INTO ""tbioudb03""(""id1"", ""id2"", ""name"") SELECT 1, '01', '001'
|
Assert.Equal(@"INSERT OR IGNORE INTO ""tbioudb03""(""id1"", ""id2"", ""name"") VALUES(1, '01', '001'), (2, '02', '002'), (3, '03', '003'), (4, '04', '004')", sql);
|
||||||
WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM ""tbioudb03"" a
|
|
||||||
WHERE (a.""id1"" = 1 AND a.""id2"" = '01')
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 2, '02', '002'
|
|
||||||
WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM ""tbioudb03"" a
|
|
||||||
WHERE (a.""id1"" = 2 AND a.""id2"" = '02')
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 3, '03', '003'
|
|
||||||
WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM ""tbioudb03"" a
|
|
||||||
WHERE (a.""id1"" = 3 AND a.""id2"" = '03')
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 4, '04', '004'
|
|
||||||
WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM ""tbioudb03"" a
|
|
||||||
WHERE (a.""id1"" = 4 AND a.""id2"" = '04')
|
|
||||||
limit 0,1)", sql);
|
|
||||||
Assert.Equal(0, iou.ExecuteAffrows());
|
Assert.Equal(0, iou.ExecuteAffrows());
|
||||||
var lst = fsql.Select<tbioudb03>().Where(a => a.id1 == 1 && a.id2 == "01" || a.id1 == 2 && a.id2 == "02" || a.id1 == 3 && a.id2 == "03" || a.id1 == 4 && a.id2 == "04").ToList();
|
var lst = fsql.Select<tbioudb03>().Where(a => a.id1 == 1 && a.id2 == "01" || a.id1 == 2 && a.id2 == "02" || a.id1 == 3 && a.id2 == "03" || a.id1 == 4 && a.id2 == "04").ToList();
|
||||||
Assert.Equal(4, lst.Where(a => a.name == "0" + a.id1).Count());
|
Assert.Equal(4, lst.Where(a => a.name == "0" + a.id1).Count());
|
||||||
@ -359,83 +169,27 @@ UNION ALL
|
|||||||
fsql.Delete<tbioudb04>().Where("1=1").ExecuteAffrows();
|
fsql.Delete<tbioudb04>().Where("1=1").ExecuteAffrows();
|
||||||
var iou = fsql.InsertOrUpdate<tbioudb04>().IfExistsDoNothing().SetSource(new tbioudb04 { id = 1, name = "01" });
|
var iou = fsql.InsertOrUpdate<tbioudb04>().IfExistsDoNothing().SetSource(new tbioudb04 { id = 1, name = "01" });
|
||||||
var sql = iou.ToSql();
|
var sql = iou.ToSql();
|
||||||
Assert.Equal(@"INSERT INTO ""tbioudb04""(""id"", ""name"", ""version"", ""CreateTime"") SELECT 1, '01', 0, datetime(current_timestamp,'localtime')
|
Assert.Equal(@"INSERT OR IGNORE INTO ""tbioudb04""(""id"", ""name"", ""version"", ""CreateTime"") VALUES(1, '01', 0, datetime(current_timestamp,'localtime'))", sql);
|
||||||
WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM ""tbioudb04"" a
|
|
||||||
WHERE (a.""id"" = 1)
|
|
||||||
limit 0,1)", sql);
|
|
||||||
Assert.Equal(1, iou.ExecuteAffrows());
|
Assert.Equal(1, iou.ExecuteAffrows());
|
||||||
|
|
||||||
iou = fsql.InsertOrUpdate<tbioudb04>().IfExistsDoNothing().SetSource(new tbioudb04 { id = 1, name = "011" });
|
iou = fsql.InsertOrUpdate<tbioudb04>().IfExistsDoNothing().SetSource(new tbioudb04 { id = 1, name = "011" });
|
||||||
sql = iou.ToSql();
|
sql = iou.ToSql();
|
||||||
Assert.Equal(@"INSERT INTO ""tbioudb04""(""id"", ""name"", ""version"", ""CreateTime"") SELECT 1, '011', 0, datetime(current_timestamp,'localtime')
|
Assert.Equal(@"INSERT OR IGNORE INTO ""tbioudb04""(""id"", ""name"", ""version"", ""CreateTime"") VALUES(1, '011', 0, datetime(current_timestamp,'localtime'))", sql);
|
||||||
WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM ""tbioudb04"" a
|
|
||||||
WHERE (a.""id"" = 1)
|
|
||||||
limit 0,1)", sql);
|
|
||||||
Assert.Equal(0, iou.ExecuteAffrows());
|
Assert.Equal(0, iou.ExecuteAffrows());
|
||||||
|
|
||||||
iou = fsql.InsertOrUpdate<tbioudb04>().IfExistsDoNothing().SetSource(new tbioudb04 { id = 2, name = "02" });
|
iou = fsql.InsertOrUpdate<tbioudb04>().IfExistsDoNothing().SetSource(new tbioudb04 { id = 2, name = "02" });
|
||||||
sql = iou.ToSql();
|
sql = iou.ToSql();
|
||||||
Assert.Equal(@"INSERT INTO ""tbioudb04""(""id"", ""name"", ""version"", ""CreateTime"") SELECT 2, '02', 0, datetime(current_timestamp,'localtime')
|
Assert.Equal(@"INSERT OR IGNORE INTO ""tbioudb04""(""id"", ""name"", ""version"", ""CreateTime"") VALUES(2, '02', 0, datetime(current_timestamp,'localtime'))", sql);
|
||||||
WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM ""tbioudb04"" a
|
|
||||||
WHERE (a.""id"" = 2)
|
|
||||||
limit 0,1)", sql);
|
|
||||||
Assert.Equal(1, iou.ExecuteAffrows());
|
Assert.Equal(1, iou.ExecuteAffrows());
|
||||||
|
|
||||||
iou = fsql.InsertOrUpdate<tbioudb04>().IfExistsDoNothing().SetSource(new[] { new tbioudb04 { id = 1, name = "01" }, new tbioudb04 { id = 2, name = "02" }, new tbioudb04 { id = 3, name = "03" }, new tbioudb04 { id = 4, name = "04" } });
|
iou = fsql.InsertOrUpdate<tbioudb04>().IfExistsDoNothing().SetSource(new[] { new tbioudb04 { id = 1, name = "01" }, new tbioudb04 { id = 2, name = "02" }, new tbioudb04 { id = 3, name = "03" }, new tbioudb04 { id = 4, name = "04" } });
|
||||||
sql = iou.ToSql();
|
sql = iou.ToSql();
|
||||||
Assert.Equal(@"INSERT INTO ""tbioudb04""(""id"", ""name"", ""version"", ""CreateTime"") SELECT 1, '01', 0, datetime(current_timestamp,'localtime')
|
Assert.Equal(@"INSERT OR IGNORE INTO ""tbioudb04""(""id"", ""name"", ""version"", ""CreateTime"") VALUES(1, '01', 0, datetime(current_timestamp,'localtime')), (2, '02', 0, datetime(current_timestamp,'localtime')), (3, '03', 0, datetime(current_timestamp,'localtime')), (4, '04', 0, datetime(current_timestamp,'localtime'))", sql);
|
||||||
WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM ""tbioudb04"" a
|
|
||||||
WHERE (a.""id"" = 1)
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 2, '02', 0, datetime(current_timestamp,'localtime')
|
|
||||||
WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM ""tbioudb04"" a
|
|
||||||
WHERE (a.""id"" = 2)
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 3, '03', 0, datetime(current_timestamp,'localtime')
|
|
||||||
WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM ""tbioudb04"" a
|
|
||||||
WHERE (a.""id"" = 3)
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 4, '04', 0, datetime(current_timestamp,'localtime')
|
|
||||||
WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM ""tbioudb04"" a
|
|
||||||
WHERE (a.""id"" = 4)
|
|
||||||
limit 0,1)", sql);
|
|
||||||
Assert.Equal(2, iou.ExecuteAffrows());
|
Assert.Equal(2, iou.ExecuteAffrows());
|
||||||
|
|
||||||
iou = fsql.InsertOrUpdate<tbioudb04>().IfExistsDoNothing().SetSource(new[] { new tbioudb04 { id = 1, name = "001" }, new tbioudb04 { id = 2, name = "002" }, new tbioudb04 { id = 3, name = "003" }, new tbioudb04 { id = 4, name = "004" } });
|
iou = fsql.InsertOrUpdate<tbioudb04>().IfExistsDoNothing().SetSource(new[] { new tbioudb04 { id = 1, name = "001" }, new tbioudb04 { id = 2, name = "002" }, new tbioudb04 { id = 3, name = "003" }, new tbioudb04 { id = 4, name = "004" } });
|
||||||
sql = iou.ToSql();
|
sql = iou.ToSql();
|
||||||
Assert.Equal(@"INSERT INTO ""tbioudb04""(""id"", ""name"", ""version"", ""CreateTime"") SELECT 1, '001', 0, datetime(current_timestamp,'localtime')
|
Assert.Equal(@"INSERT OR IGNORE INTO ""tbioudb04""(""id"", ""name"", ""version"", ""CreateTime"") VALUES(1, '001', 0, datetime(current_timestamp,'localtime')), (2, '002', 0, datetime(current_timestamp,'localtime')), (3, '003', 0, datetime(current_timestamp,'localtime')), (4, '004', 0, datetime(current_timestamp,'localtime'))", sql);
|
||||||
WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM ""tbioudb04"" a
|
|
||||||
WHERE (a.""id"" = 1)
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 2, '002', 0, datetime(current_timestamp,'localtime')
|
|
||||||
WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM ""tbioudb04"" a
|
|
||||||
WHERE (a.""id"" = 2)
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 3, '003', 0, datetime(current_timestamp,'localtime')
|
|
||||||
WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM ""tbioudb04"" a
|
|
||||||
WHERE (a.""id"" = 3)
|
|
||||||
limit 0,1)
|
|
||||||
UNION ALL
|
|
||||||
SELECT 4, '004', 0, datetime(current_timestamp,'localtime')
|
|
||||||
WHERE NOT EXISTS(SELECT 1
|
|
||||||
FROM ""tbioudb04"" a
|
|
||||||
WHERE (a.""id"" = 4)
|
|
||||||
limit 0,1)", sql);
|
|
||||||
Assert.Equal(0, iou.ExecuteAffrows());
|
Assert.Equal(0, iou.ExecuteAffrows());
|
||||||
var lst = fsql.Select<tbioudb04>().Where(a => new[] { 1, 2, 3, 4 }.Contains(a.id)).ToList();
|
var lst = fsql.Select<tbioudb04>().Where(a => new[] { 1, 2, 3, 4 }.Contains(a.id)).ToList();
|
||||||
Assert.Equal(4, lst.Where(a => a.name == "0" + a.id).Count());
|
Assert.Equal(4, lst.Where(a => a.name == "0" + a.id).Count());
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
using FreeSql.DataAnnotations;
|
using FreeSql.DataAnnotations;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
@ -16,27 +16,27 @@ namespace FreeSql.Tests.Sqlite
|
|||||||
fsql.Delete<tbiou01>().Where("1=1").ExecuteAffrows();
|
fsql.Delete<tbiou01>().Where("1=1").ExecuteAffrows();
|
||||||
var iou = fsql.InsertOrUpdate<tbiou01>().SetSource(new tbiou01 { id = 1 });
|
var iou = fsql.InsertOrUpdate<tbiou01>().SetSource(new tbiou01 { id = 1 });
|
||||||
var sql = iou.ToSql();
|
var sql = iou.ToSql();
|
||||||
Assert.Equal(@"REPLACE INTO ""tbiou01""(""id"") VALUES(1)", sql);
|
Assert.Equal(@"INSERT OR REPLACE INTO ""tbiou01""(""id"") VALUES(1)", sql);
|
||||||
Assert.Equal(1, iou.ExecuteAffrows());
|
Assert.Equal(1, iou.ExecuteAffrows());
|
||||||
|
|
||||||
iou = fsql.InsertOrUpdate<tbiou01>().SetSource(new tbiou01 { id = 1 });
|
iou = fsql.InsertOrUpdate<tbiou01>().SetSource(new tbiou01 { id = 1 });
|
||||||
sql = iou.ToSql();
|
sql = iou.ToSql();
|
||||||
Assert.Equal(@"REPLACE INTO ""tbiou01""(""id"") VALUES(1)", sql);
|
Assert.Equal(@"INSERT OR REPLACE INTO ""tbiou01""(""id"") VALUES(1)", sql);
|
||||||
Assert.Equal(1, iou.ExecuteAffrows());
|
Assert.Equal(1, iou.ExecuteAffrows());
|
||||||
|
|
||||||
iou = fsql.InsertOrUpdate<tbiou01>().SetSource(new tbiou01 { id = 2 });
|
iou = fsql.InsertOrUpdate<tbiou01>().SetSource(new tbiou01 { id = 2 });
|
||||||
sql = iou.ToSql();
|
sql = iou.ToSql();
|
||||||
Assert.Equal(@"REPLACE INTO ""tbiou01""(""id"") VALUES(2)", sql);
|
Assert.Equal(@"INSERT OR REPLACE INTO ""tbiou01""(""id"") VALUES(2)", sql);
|
||||||
Assert.Equal(1, iou.ExecuteAffrows());
|
Assert.Equal(1, iou.ExecuteAffrows());
|
||||||
|
|
||||||
iou = fsql.InsertOrUpdate<tbiou01>().SetSource(new[] { new tbiou01 { id = 1 }, new tbiou01 { id = 2 }, new tbiou01 { id = 3 }, new tbiou01 { id = 4 } });
|
iou = fsql.InsertOrUpdate<tbiou01>().SetSource(new[] { new tbiou01 { id = 1 }, new tbiou01 { id = 2 }, new tbiou01 { id = 3 }, new tbiou01 { id = 4 } });
|
||||||
sql = iou.ToSql();
|
sql = iou.ToSql();
|
||||||
Assert.Equal(@"REPLACE INTO ""tbiou01""(""id"") VALUES(1), (2), (3), (4)", sql);
|
Assert.Equal(@"INSERT OR REPLACE INTO ""tbiou01""(""id"") VALUES(1), (2), (3), (4)", sql);
|
||||||
Assert.Equal(4, iou.ExecuteAffrows());
|
Assert.Equal(4, iou.ExecuteAffrows());
|
||||||
|
|
||||||
iou = fsql.InsertOrUpdate<tbiou01>().SetSource(new[] { new tbiou01 { id = 1 }, new tbiou01 { id = 2 }, new tbiou01 { id = 3 }, new tbiou01 { id = 4 } });
|
iou = fsql.InsertOrUpdate<tbiou01>().SetSource(new[] { new tbiou01 { id = 1 }, new tbiou01 { id = 2 }, new tbiou01 { id = 3 }, new tbiou01 { id = 4 } });
|
||||||
sql = iou.ToSql();
|
sql = iou.ToSql();
|
||||||
Assert.Equal(@"REPLACE INTO ""tbiou01""(""id"") VALUES(1), (2), (3), (4)", sql);
|
Assert.Equal(@"INSERT OR REPLACE INTO ""tbiou01""(""id"") VALUES(1), (2), (3), (4)", sql);
|
||||||
Assert.Equal(4, iou.ExecuteAffrows());
|
Assert.Equal(4, iou.ExecuteAffrows());
|
||||||
}
|
}
|
||||||
class tbiou01
|
class tbiou01
|
||||||
@ -50,27 +50,27 @@ namespace FreeSql.Tests.Sqlite
|
|||||||
fsql.Delete<tbiou02>().Where("1=1").ExecuteAffrows();
|
fsql.Delete<tbiou02>().Where("1=1").ExecuteAffrows();
|
||||||
var iou = fsql.InsertOrUpdate<tbiou02>().SetSource(new tbiou02 { id = 1, name = "01" });
|
var iou = fsql.InsertOrUpdate<tbiou02>().SetSource(new tbiou02 { id = 1, name = "01" });
|
||||||
var sql = iou.ToSql();
|
var sql = iou.ToSql();
|
||||||
Assert.Equal(@"REPLACE INTO ""tbiou02""(""id"", ""name"") VALUES(1, '01')", sql);
|
Assert.Equal(@"INSERT OR REPLACE INTO ""tbiou02""(""id"", ""name"") VALUES(1, '01')", sql);
|
||||||
Assert.Equal(1, iou.ExecuteAffrows());
|
Assert.Equal(1, iou.ExecuteAffrows());
|
||||||
|
|
||||||
iou = fsql.InsertOrUpdate<tbiou02>().SetSource(new tbiou02 { id = 1, name = "011" });
|
iou = fsql.InsertOrUpdate<tbiou02>().SetSource(new tbiou02 { id = 1, name = "011" });
|
||||||
sql = iou.ToSql();
|
sql = iou.ToSql();
|
||||||
Assert.Equal(@"REPLACE INTO ""tbiou02""(""id"", ""name"") VALUES(1, '011')", sql);
|
Assert.Equal(@"INSERT OR REPLACE INTO ""tbiou02""(""id"", ""name"") VALUES(1, '011')", sql);
|
||||||
Assert.Equal(1, iou.ExecuteAffrows());
|
Assert.Equal(1, iou.ExecuteAffrows());
|
||||||
|
|
||||||
iou = fsql.InsertOrUpdate<tbiou02>().SetSource(new tbiou02 { id = 2, name = "02" });
|
iou = fsql.InsertOrUpdate<tbiou02>().SetSource(new tbiou02 { id = 2, name = "02" });
|
||||||
sql = iou.ToSql();
|
sql = iou.ToSql();
|
||||||
Assert.Equal(@"REPLACE INTO ""tbiou02""(""id"", ""name"") VALUES(2, '02')", sql);
|
Assert.Equal(@"INSERT OR REPLACE INTO ""tbiou02""(""id"", ""name"") VALUES(2, '02')", sql);
|
||||||
Assert.Equal(1, iou.ExecuteAffrows());
|
Assert.Equal(1, iou.ExecuteAffrows());
|
||||||
|
|
||||||
iou = fsql.InsertOrUpdate<tbiou02>().SetSource(new[] { new tbiou02 { id = 1, name = "01" }, new tbiou02 { id = 2, name = "02" }, new tbiou02 { id = 3, name = "03" }, new tbiou02 { id = 4, name = "04" } });
|
iou = fsql.InsertOrUpdate<tbiou02>().SetSource(new[] { new tbiou02 { id = 1, name = "01" }, new tbiou02 { id = 2, name = "02" }, new tbiou02 { id = 3, name = "03" }, new tbiou02 { id = 4, name = "04" } });
|
||||||
sql = iou.ToSql();
|
sql = iou.ToSql();
|
||||||
Assert.Equal(@"REPLACE INTO ""tbiou02""(""id"", ""name"") VALUES(1, '01'), (2, '02'), (3, '03'), (4, '04')", sql);
|
Assert.Equal(@"INSERT OR REPLACE INTO ""tbiou02""(""id"", ""name"") VALUES(1, '01'), (2, '02'), (3, '03'), (4, '04')", sql);
|
||||||
Assert.Equal(4, iou.ExecuteAffrows());
|
Assert.Equal(4, iou.ExecuteAffrows());
|
||||||
|
|
||||||
iou = fsql.InsertOrUpdate<tbiou02>().SetSource(new[] { new tbiou02 { id = 1, name = "001" }, new tbiou02 { id = 2, name = "002" }, new tbiou02 { id = 3, name = "003" }, new tbiou02 { id = 4, name = "004" } });
|
iou = fsql.InsertOrUpdate<tbiou02>().SetSource(new[] { new tbiou02 { id = 1, name = "001" }, new tbiou02 { id = 2, name = "002" }, new tbiou02 { id = 3, name = "003" }, new tbiou02 { id = 4, name = "004" } });
|
||||||
sql = iou.ToSql();
|
sql = iou.ToSql();
|
||||||
Assert.Equal(@"REPLACE INTO ""tbiou02""(""id"", ""name"") VALUES(1, '001'), (2, '002'), (3, '003'), (4, '004')", sql);
|
Assert.Equal(@"INSERT OR REPLACE INTO ""tbiou02""(""id"", ""name"") VALUES(1, '001'), (2, '002'), (3, '003'), (4, '004')", sql);
|
||||||
Assert.Equal(4, iou.ExecuteAffrows());
|
Assert.Equal(4, iou.ExecuteAffrows());
|
||||||
var lst = fsql.Select<tbiou02>().Where(a => new[] { 1, 2, 3, 4 }.Contains(a.id)).ToList();
|
var lst = fsql.Select<tbiou02>().Where(a => new[] { 1, 2, 3, 4 }.Contains(a.id)).ToList();
|
||||||
Assert.Equal(4, lst.Where(a => a.name == "00" + a.id).Count());
|
Assert.Equal(4, lst.Where(a => a.name == "00" + a.id).Count());
|
||||||
@ -87,27 +87,27 @@ namespace FreeSql.Tests.Sqlite
|
|||||||
fsql.Delete<tbiou022>().Where("1=1").ExecuteAffrows();
|
fsql.Delete<tbiou022>().Where("1=1").ExecuteAffrows();
|
||||||
var iou = fsql.InsertOrUpdate<tbiou022>().SetSource(new tbiou022 { id = 1, name = "01" });
|
var iou = fsql.InsertOrUpdate<tbiou022>().SetSource(new tbiou022 { id = 1, name = "01" });
|
||||||
var sql = iou.ToSql();
|
var sql = iou.ToSql();
|
||||||
Assert.Equal(@"REPLACE INTO ""tbiou022""(""id"", ""name"") VALUES(1, '01')", sql);
|
Assert.Equal(@"INSERT OR REPLACE INTO ""tbiou022""(""id"", ""name"") VALUES(1, '01')", sql);
|
||||||
Assert.Equal(1, iou.ExecuteAffrows());
|
Assert.Equal(1, iou.ExecuteAffrows());
|
||||||
|
|
||||||
iou = fsql.InsertOrUpdate<tbiou022>().SetSource(new tbiou022 { id = 1, name = "011" });
|
iou = fsql.InsertOrUpdate<tbiou022>().SetSource(new tbiou022 { id = 1, name = "011" });
|
||||||
sql = iou.ToSql();
|
sql = iou.ToSql();
|
||||||
Assert.Equal(@"REPLACE INTO ""tbiou022""(""id"", ""name"") VALUES(1, '011')", sql);
|
Assert.Equal(@"INSERT OR REPLACE INTO ""tbiou022""(""id"", ""name"") VALUES(1, '011')", sql);
|
||||||
Assert.Equal(1, iou.ExecuteAffrows());
|
Assert.Equal(1, iou.ExecuteAffrows());
|
||||||
|
|
||||||
iou = fsql.InsertOrUpdate<tbiou022>().SetSource(new tbiou022 { id = 2, name = "02" });
|
iou = fsql.InsertOrUpdate<tbiou022>().SetSource(new tbiou022 { id = 2, name = "02" });
|
||||||
sql = iou.ToSql();
|
sql = iou.ToSql();
|
||||||
Assert.Equal(@"REPLACE INTO ""tbiou022""(""id"", ""name"") VALUES(2, '02')", sql);
|
Assert.Equal(@"INSERT OR REPLACE INTO ""tbiou022""(""id"", ""name"") VALUES(2, '02')", sql);
|
||||||
Assert.Equal(1, iou.ExecuteAffrows());
|
Assert.Equal(1, iou.ExecuteAffrows());
|
||||||
|
|
||||||
iou = fsql.InsertOrUpdate<tbiou022>().SetSource(new[] { new tbiou022 { id = 1, name = "01" }, new tbiou022 { id = 2, name = "02" }, new tbiou022 { id = 3, name = "03" }, new tbiou022 { id = 4, name = "04" } });
|
iou = fsql.InsertOrUpdate<tbiou022>().SetSource(new[] { new tbiou022 { id = 1, name = "01" }, new tbiou022 { id = 2, name = "02" }, new tbiou022 { id = 3, name = "03" }, new tbiou022 { id = 4, name = "04" } });
|
||||||
sql = iou.ToSql();
|
sql = iou.ToSql();
|
||||||
Assert.Equal(@"REPLACE INTO ""tbiou022""(""id"", ""name"") VALUES(1, '01'), (2, '02'), (3, '03'), (4, '04')", sql);
|
Assert.Equal(@"INSERT OR REPLACE INTO ""tbiou022""(""id"", ""name"") VALUES(1, '01'), (2, '02'), (3, '03'), (4, '04')", sql);
|
||||||
Assert.Equal(4, iou.ExecuteAffrows());
|
Assert.Equal(4, iou.ExecuteAffrows());
|
||||||
|
|
||||||
iou = fsql.InsertOrUpdate<tbiou022>().SetSource(new[] { new tbiou022 { id = 1, name = "001" }, new tbiou022 { id = 2, name = "002" }, new tbiou022 { id = 3, name = "003" }, new tbiou022 { id = 4, name = "004" } });
|
iou = fsql.InsertOrUpdate<tbiou022>().SetSource(new[] { new tbiou022 { id = 1, name = "001" }, new tbiou022 { id = 2, name = "002" }, new tbiou022 { id = 3, name = "003" }, new tbiou022 { id = 4, name = "004" } });
|
||||||
sql = iou.ToSql();
|
sql = iou.ToSql();
|
||||||
Assert.Equal(@"REPLACE INTO ""tbiou022""(""id"", ""name"") VALUES(1, '001'), (2, '002'), (3, '003'), (4, '004')", sql);
|
Assert.Equal(@"INSERT OR REPLACE INTO ""tbiou022""(""id"", ""name"") VALUES(1, '001'), (2, '002'), (3, '003'), (4, '004')", sql);
|
||||||
Assert.Equal(4, iou.ExecuteAffrows());
|
Assert.Equal(4, iou.ExecuteAffrows());
|
||||||
var lst = fsql.Select<tbiou022>().Where(a => new[] { 1, 2, 3, 4 }.Contains(a.id)).ToList();
|
var lst = fsql.Select<tbiou022>().Where(a => new[] { 1, 2, 3, 4 }.Contains(a.id)).ToList();
|
||||||
Assert.Equal(4, lst.Where(a => a.name == "00" + a.id).Count());
|
Assert.Equal(4, lst.Where(a => a.name == "00" + a.id).Count());
|
||||||
@ -141,7 +141,7 @@ namespace FreeSql.Tests.Sqlite
|
|||||||
//--no primary and yes
|
//--no primary and yes
|
||||||
iou = fsql.InsertOrUpdate<tbiou022>().SetSource(new[] { new tbiou022 { id = 1, name = "100001" }, new tbiou022 { name = "00001" }, new tbiou022 { id = 2, name = "100002" }, new tbiou022 { name = "00002" }, new tbiou022 { id = 3, name = "100003" }, new tbiou022 { name = "00003" }, new tbiou022 { id = 4, name = "100004" }, new tbiou022 { name = "00004" } });
|
iou = fsql.InsertOrUpdate<tbiou022>().SetSource(new[] { new tbiou022 { id = 1, name = "100001" }, new tbiou022 { name = "00001" }, new tbiou022 { id = 2, name = "100002" }, new tbiou022 { name = "00002" }, new tbiou022 { id = 3, name = "100003" }, new tbiou022 { name = "00003" }, new tbiou022 { id = 4, name = "100004" }, new tbiou022 { name = "00004" } });
|
||||||
sql = iou.ToSql();
|
sql = iou.ToSql();
|
||||||
Assert.Equal(@"REPLACE INTO ""tbiou022""(""id"", ""name"") VALUES(1, '100001'), (2, '100002'), (3, '100003'), (4, '100004')
|
Assert.Equal(@"INSERT OR REPLACE INTO ""tbiou022""(""id"", ""name"") VALUES(1, '100001'), (2, '100002'), (3, '100003'), (4, '100004')
|
||||||
|
|
||||||
;
|
;
|
||||||
|
|
||||||
@ -163,27 +163,27 @@ INSERT INTO ""tbiou022""(""name"") VALUES('00001'), ('00002'), ('00003'), ('0000
|
|||||||
fsql.Delete<tbiou03>().Where("1=1").ExecuteAffrows();
|
fsql.Delete<tbiou03>().Where("1=1").ExecuteAffrows();
|
||||||
var iou = fsql.InsertOrUpdate<tbiou03>().SetSource(new tbiou03 { id1 = 1, id2 = "01", name = "01" });
|
var iou = fsql.InsertOrUpdate<tbiou03>().SetSource(new tbiou03 { id1 = 1, id2 = "01", name = "01" });
|
||||||
var sql = iou.ToSql();
|
var sql = iou.ToSql();
|
||||||
Assert.Equal(@"REPLACE INTO ""tbiou03""(""id1"", ""id2"", ""name"") VALUES(1, '01', '01')", sql);
|
Assert.Equal(@"INSERT OR REPLACE INTO ""tbiou03""(""id1"", ""id2"", ""name"") VALUES(1, '01', '01')", sql);
|
||||||
Assert.Equal(1, iou.ExecuteAffrows());
|
Assert.Equal(1, iou.ExecuteAffrows());
|
||||||
|
|
||||||
iou = fsql.InsertOrUpdate<tbiou03>().SetSource(new tbiou03 { id1 = 1, id2 = "01", name = "011" });
|
iou = fsql.InsertOrUpdate<tbiou03>().SetSource(new tbiou03 { id1 = 1, id2 = "01", name = "011" });
|
||||||
sql = iou.ToSql();
|
sql = iou.ToSql();
|
||||||
Assert.Equal(@"REPLACE INTO ""tbiou03""(""id1"", ""id2"", ""name"") VALUES(1, '01', '011')", sql);
|
Assert.Equal(@"INSERT OR REPLACE INTO ""tbiou03""(""id1"", ""id2"", ""name"") VALUES(1, '01', '011')", sql);
|
||||||
Assert.Equal(1, iou.ExecuteAffrows());
|
Assert.Equal(1, iou.ExecuteAffrows());
|
||||||
|
|
||||||
iou = fsql.InsertOrUpdate<tbiou03>().SetSource(new tbiou03 { id1 = 2, id2 = "02", name = "02" });
|
iou = fsql.InsertOrUpdate<tbiou03>().SetSource(new tbiou03 { id1 = 2, id2 = "02", name = "02" });
|
||||||
sql = iou.ToSql();
|
sql = iou.ToSql();
|
||||||
Assert.Equal(@"REPLACE INTO ""tbiou03""(""id1"", ""id2"", ""name"") VALUES(2, '02', '02')", sql);
|
Assert.Equal(@"INSERT OR REPLACE INTO ""tbiou03""(""id1"", ""id2"", ""name"") VALUES(2, '02', '02')", sql);
|
||||||
Assert.Equal(1, iou.ExecuteAffrows());
|
Assert.Equal(1, iou.ExecuteAffrows());
|
||||||
|
|
||||||
iou = fsql.InsertOrUpdate<tbiou03>().SetSource(new[] { new tbiou03 { id1 = 1, id2 = "01", name = "01" }, new tbiou03 { id1 = 2, id2 = "02", name = "02" }, new tbiou03 { id1 = 3, id2 = "03", name = "03" }, new tbiou03 { id1 = 4, id2 = "04", name = "04" } });
|
iou = fsql.InsertOrUpdate<tbiou03>().SetSource(new[] { new tbiou03 { id1 = 1, id2 = "01", name = "01" }, new tbiou03 { id1 = 2, id2 = "02", name = "02" }, new tbiou03 { id1 = 3, id2 = "03", name = "03" }, new tbiou03 { id1 = 4, id2 = "04", name = "04" } });
|
||||||
sql = iou.ToSql();
|
sql = iou.ToSql();
|
||||||
Assert.Equal(@"REPLACE INTO ""tbiou03""(""id1"", ""id2"", ""name"") VALUES(1, '01', '01'), (2, '02', '02'), (3, '03', '03'), (4, '04', '04')", sql);
|
Assert.Equal(@"INSERT OR REPLACE INTO ""tbiou03""(""id1"", ""id2"", ""name"") VALUES(1, '01', '01'), (2, '02', '02'), (3, '03', '03'), (4, '04', '04')", sql);
|
||||||
Assert.Equal(4, iou.ExecuteAffrows());
|
Assert.Equal(4, iou.ExecuteAffrows());
|
||||||
|
|
||||||
iou = fsql.InsertOrUpdate<tbiou03>().SetSource(new[] { new tbiou03 { id1 = 1, id2 = "01", name = "001" }, new tbiou03 { id1 = 2, id2 = "02", name = "002" }, new tbiou03 { id1 = 3, id2 = "03", name = "003" }, new tbiou03 { id1 = 4, id2 = "04", name = "004" } });
|
iou = fsql.InsertOrUpdate<tbiou03>().SetSource(new[] { new tbiou03 { id1 = 1, id2 = "01", name = "001" }, new tbiou03 { id1 = 2, id2 = "02", name = "002" }, new tbiou03 { id1 = 3, id2 = "03", name = "003" }, new tbiou03 { id1 = 4, id2 = "04", name = "004" } });
|
||||||
sql = iou.ToSql();
|
sql = iou.ToSql();
|
||||||
Assert.Equal(@"REPLACE INTO ""tbiou03""(""id1"", ""id2"", ""name"") VALUES(1, '01', '001'), (2, '02', '002'), (3, '03', '003'), (4, '04', '004')", sql);
|
Assert.Equal(@"INSERT OR REPLACE INTO ""tbiou03""(""id1"", ""id2"", ""name"") VALUES(1, '01', '001'), (2, '02', '002'), (3, '03', '003'), (4, '04', '004')", sql);
|
||||||
Assert.Equal(4, iou.ExecuteAffrows());
|
Assert.Equal(4, iou.ExecuteAffrows());
|
||||||
var lst = fsql.Select<tbiou03>().Where(a => a.id1 == 1 && a.id2 == "01" || a.id1 == 2 && a.id2 == "02" || a.id1 == 3 && a.id2 == "03" || a.id1 == 4 && a.id2 == "04").ToList();
|
var lst = fsql.Select<tbiou03>().Where(a => a.id1 == 1 && a.id2 == "01" || a.id1 == 2 && a.id2 == "02" || a.id1 == 3 && a.id2 == "03" || a.id1 == 4 && a.id2 == "04").ToList();
|
||||||
Assert.Equal(4, lst.Where(a => a.name == "00" + a.id1).Count());
|
Assert.Equal(4, lst.Where(a => a.name == "00" + a.id1).Count());
|
||||||
@ -203,27 +203,27 @@ INSERT INTO ""tbiou022""(""name"") VALUES('00001'), ('00002'), ('00003'), ('0000
|
|||||||
fsql.Delete<tbiou04>().Where("1=1").ExecuteAffrows();
|
fsql.Delete<tbiou04>().Where("1=1").ExecuteAffrows();
|
||||||
var iou = fsql.InsertOrUpdate<tbiou04>().SetSource(new tbiou04 { id = 1, name = "01" });
|
var iou = fsql.InsertOrUpdate<tbiou04>().SetSource(new tbiou04 { id = 1, name = "01" });
|
||||||
var sql = iou.ToSql();
|
var sql = iou.ToSql();
|
||||||
Assert.Equal(@"REPLACE INTO ""tbiou04""(""id"", ""name"", ""version"", ""CreateTime"") VALUES(1, '01', 0, datetime(current_timestamp,'localtime'))", sql);
|
Assert.Equal(@"INSERT OR REPLACE INTO ""tbiou04""(""id"", ""name"", ""version"", ""CreateTime"") VALUES(1, '01', 0, datetime(current_timestamp,'localtime'))", sql);
|
||||||
Assert.Equal(1, iou.ExecuteAffrows());
|
Assert.Equal(1, iou.ExecuteAffrows());
|
||||||
|
|
||||||
iou = fsql.InsertOrUpdate<tbiou04>().SetSource(new tbiou04 { id = 1, name = "011" });
|
iou = fsql.InsertOrUpdate<tbiou04>().SetSource(new tbiou04 { id = 1, name = "011" });
|
||||||
sql = iou.ToSql();
|
sql = iou.ToSql();
|
||||||
Assert.Equal(@"REPLACE INTO ""tbiou04""(""id"", ""name"", ""version"", ""CreateTime"") VALUES(1, '011', 0, datetime(current_timestamp,'localtime'))", sql);
|
Assert.Equal(@"INSERT OR REPLACE INTO ""tbiou04""(""id"", ""name"", ""version"", ""CreateTime"") VALUES(1, '011', 0, datetime(current_timestamp,'localtime'))", sql);
|
||||||
Assert.Equal(1, iou.ExecuteAffrows());
|
Assert.Equal(1, iou.ExecuteAffrows());
|
||||||
|
|
||||||
iou = fsql.InsertOrUpdate<tbiou04>().SetSource(new tbiou04 { id = 2, name = "02" });
|
iou = fsql.InsertOrUpdate<tbiou04>().SetSource(new tbiou04 { id = 2, name = "02" });
|
||||||
sql = iou.ToSql();
|
sql = iou.ToSql();
|
||||||
Assert.Equal(@"REPLACE INTO ""tbiou04""(""id"", ""name"", ""version"", ""CreateTime"") VALUES(2, '02', 0, datetime(current_timestamp,'localtime'))", sql);
|
Assert.Equal(@"INSERT OR REPLACE INTO ""tbiou04""(""id"", ""name"", ""version"", ""CreateTime"") VALUES(2, '02', 0, datetime(current_timestamp,'localtime'))", sql);
|
||||||
Assert.Equal(1, iou.ExecuteAffrows());
|
Assert.Equal(1, iou.ExecuteAffrows());
|
||||||
|
|
||||||
iou = fsql.InsertOrUpdate<tbiou04>().SetSource(new[] { new tbiou04 { id = 1, name = "01" }, new tbiou04 { id = 2, name = "02" }, new tbiou04 { id = 3, name = "03" }, new tbiou04 { id = 4, name = "04" } });
|
iou = fsql.InsertOrUpdate<tbiou04>().SetSource(new[] { new tbiou04 { id = 1, name = "01" }, new tbiou04 { id = 2, name = "02" }, new tbiou04 { id = 3, name = "03" }, new tbiou04 { id = 4, name = "04" } });
|
||||||
sql = iou.ToSql();
|
sql = iou.ToSql();
|
||||||
Assert.Equal(@"REPLACE INTO ""tbiou04""(""id"", ""name"", ""version"", ""CreateTime"") VALUES(1, '01', 0, datetime(current_timestamp,'localtime')), (2, '02', 0, datetime(current_timestamp,'localtime')), (3, '03', 0, datetime(current_timestamp,'localtime')), (4, '04', 0, datetime(current_timestamp,'localtime'))", sql);
|
Assert.Equal(@"INSERT OR REPLACE INTO ""tbiou04""(""id"", ""name"", ""version"", ""CreateTime"") VALUES(1, '01', 0, datetime(current_timestamp,'localtime')), (2, '02', 0, datetime(current_timestamp,'localtime')), (3, '03', 0, datetime(current_timestamp,'localtime')), (4, '04', 0, datetime(current_timestamp,'localtime'))", sql);
|
||||||
Assert.Equal(4, iou.ExecuteAffrows());
|
Assert.Equal(4, iou.ExecuteAffrows());
|
||||||
|
|
||||||
iou = fsql.InsertOrUpdate<tbiou04>().SetSource(new[] { new tbiou04 { id = 1, name = "001" }, new tbiou04 { id = 2, name = "002" }, new tbiou04 { id = 3, name = "003" }, new tbiou04 { id = 4, name = "004" } });
|
iou = fsql.InsertOrUpdate<tbiou04>().SetSource(new[] { new tbiou04 { id = 1, name = "001" }, new tbiou04 { id = 2, name = "002" }, new tbiou04 { id = 3, name = "003" }, new tbiou04 { id = 4, name = "004" } });
|
||||||
sql = iou.ToSql();
|
sql = iou.ToSql();
|
||||||
Assert.Equal(@"REPLACE INTO ""tbiou04""(""id"", ""name"", ""version"", ""CreateTime"") VALUES(1, '001', 0, datetime(current_timestamp,'localtime')), (2, '002', 0, datetime(current_timestamp,'localtime')), (3, '003', 0, datetime(current_timestamp,'localtime')), (4, '004', 0, datetime(current_timestamp,'localtime'))", sql);
|
Assert.Equal(@"INSERT OR REPLACE INTO ""tbiou04""(""id"", ""name"", ""version"", ""CreateTime"") VALUES(1, '001', 0, datetime(current_timestamp,'localtime')), (2, '002', 0, datetime(current_timestamp,'localtime')), (3, '003', 0, datetime(current_timestamp,'localtime')), (4, '004', 0, datetime(current_timestamp,'localtime'))", sql);
|
||||||
Assert.Equal(4, iou.ExecuteAffrows());
|
Assert.Equal(4, iou.ExecuteAffrows());
|
||||||
var lst = fsql.Select<tbiou04>().Where(a => new[] { 1, 2, 3, 4 }.Contains(a.id)).ToList();
|
var lst = fsql.Select<tbiou04>().Where(a => new[] { 1, 2, 3, 4 }.Contains(a.id)).ToList();
|
||||||
Assert.Equal(4, lst.Where(a => a.name == "00" + a.id).Count());
|
Assert.Equal(4, lst.Where(a => a.name == "00" + a.id).Count());
|
||||||
|
@ -53,11 +53,13 @@ namespace FreeSql.Custom.SqlServer
|
|||||||
else if (param is DateTime)
|
else if (param is DateTime)
|
||||||
{
|
{
|
||||||
if (Utils.TypeHandlers.TryGetValue(typeof(DateTime), out var typeHandler)) return typeHandler.Serialize(param);
|
if (Utils.TypeHandlers.TryGetValue(typeof(DateTime), out var typeHandler)) return typeHandler.Serialize(param);
|
||||||
|
if (param.Equals(DateTime.MinValue) == true) param = new DateTime(1970, 1, 1);
|
||||||
return string.Concat("'", ((DateTime)param).ToString("yyyy-MM-dd HH:mm:ss.fff"), "'");
|
return string.Concat("'", ((DateTime)param).ToString("yyyy-MM-dd HH:mm:ss.fff"), "'");
|
||||||
}
|
}
|
||||||
else if (param is DateTime?)
|
else if (param is DateTime?)
|
||||||
{
|
{
|
||||||
if (Utils.TypeHandlers.TryGetValue(typeof(DateTime?), out var typeHandler)) return typeHandler.Serialize(param);
|
if (Utils.TypeHandlers.TryGetValue(typeof(DateTime?), out var typeHandler)) return typeHandler.Serialize(param);
|
||||||
|
if (param.Equals(DateTime.MinValue) == true) param = new DateTime(1970, 1, 1);
|
||||||
return string.Concat("'", ((DateTime)param).ToString("yyyy-MM-dd HH:mm:ss.fff"), "'");
|
return string.Concat("'", ((DateTime)param).ToString("yyyy-MM-dd HH:mm:ss.fff"), "'");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user