- 优化 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

@ -27,13 +27,13 @@ namespace FreeSql.Tests.Odbc.SqlServer
{
Assert.Null(g.sqlserver.Delete<Topic>().ToSql());
var sql = g.sqlserver.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.sqlserver.Delete<Topic>(new Topic { Id = 1, Title = "test" }).ToSql();
Assert.Equal("DELETE FROM [tb_topic22211] WHERE ([Id] = 1)", sql);
sql = g.sqlserver.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.sqlserver.Delete<Topic>(new { id = 1 }).ToSql();
Assert.Equal("DELETE FROM [tb_topic22211] WHERE ([Id] = 1)", sql);
@ -97,13 +97,13 @@ namespace FreeSql.Tests.Odbc.SqlServer
{
Assert.Null(g.sqlserver.Delete<Topic>().ToSql());
var sql = g.sqlserver.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.sqlserver.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.sqlserver.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.sqlserver.Delete<Topic>(new { id = 1 }).AsTable(a => "tb_topic22211AsTable").ToSql();
Assert.Equal("DELETE FROM [tb_topic22211AsTable] WHERE ([Id] = 1)", sql);