- 优化 WhereDynamic 传入集合对象时,逻辑 OR 换为 IN;

This commit is contained in:
28810
2020-08-14 15:30:58 +08:00
parent cad63308a3
commit 66f123fbed
34 changed files with 150 additions and 144 deletions

View File

@ -26,13 +26,13 @@ namespace FreeSql.Tests.Odbc.Default
{
Assert.Null(g.odbc.Delete<Topic>().ToSql());
var sql = g.odbc.Delete<Topic>(new[] { 1, 2 }).ToSql();
Assert.Equal("DELETE FROM [tb_topic22211] WHERE ([Id] = 1 OR [Id] = 2)", sql);
Assert.Equal("DELETE FROM [tb_topic22211] WHERE ([Id] IN (1,2))", sql);
sql = g.odbc.Delete<Topic>(new Topic { Id = 1, Title = "test" }).ToSql();
Assert.Equal("DELETE FROM [tb_topic22211] WHERE ([Id] = 1)", sql);
sql = g.odbc.Delete<Topic>(new[] { new Topic { Id = 1, Title = "test" }, new Topic { Id = 2, Title = "test" } }).ToSql();
Assert.Equal("DELETE FROM [tb_topic22211] WHERE ([Id] = 1 OR [Id] = 2)", sql);
Assert.Equal("DELETE FROM [tb_topic22211] WHERE ([Id] IN (1,2))", sql);
sql = g.odbc.Delete<Topic>(new { id = 1 }).ToSql();
Assert.Equal("DELETE FROM [tb_topic22211] WHERE ([Id] = 1)", sql);
@ -83,13 +83,13 @@ namespace FreeSql.Tests.Odbc.Default
{
Assert.Null(g.odbc.Delete<Topic>().ToSql());
var sql = g.odbc.Delete<Topic>(new[] { 1, 2 }).AsTable(a => "tb_topic22211AsTable").ToSql();
Assert.Equal("DELETE FROM [tb_topic22211AsTable] WHERE ([Id] = 1 OR [Id] = 2)", sql);
Assert.Equal("DELETE FROM [tb_topic22211AsTable] WHERE ([Id] IN (1,2))", sql);
sql = g.odbc.Delete<Topic>(new Topic { Id = 1, Title = "test" }).AsTable(a => "tb_topic22211AsTable").ToSql();
Assert.Equal("DELETE FROM [tb_topic22211AsTable] WHERE ([Id] = 1)", sql);
sql = g.odbc.Delete<Topic>(new[] { new Topic { Id = 1, Title = "test" }, new Topic { Id = 2, Title = "test" } }).AsTable(a => "tb_topic22211AsTable").ToSql();
Assert.Equal("DELETE FROM [tb_topic22211AsTable] WHERE ([Id] = 1 OR [Id] = 2)", sql);
Assert.Equal("DELETE FROM [tb_topic22211AsTable] WHERE ([Id] IN (1,2))", sql);
sql = g.odbc.Delete<Topic>(new { id = 1 }).AsTable(a => "tb_topic22211AsTable").ToSql();
Assert.Equal("DELETE FROM [tb_topic22211AsTable] WHERE ([Id] = 1)", sql);