diff --git a/更新日志.md b/更新日志.md index a060963..ec6a592 100644 --- a/更新日志.md +++ b/更新日志.md @@ -4,6 +4,13 @@ ## v0.11.23 - 增加 ExpressionCallAttribute 特性,实现表达式函数自定义解析;[wiki](https://github.com/2881099/FreeSql/wiki/%e8%a1%a8%e8%be%be%e5%bc%8f%e5%87%bd%e6%95%b0#%E8%87%AA%E5%AE%9A%E4%B9%89%E8%A1%A8%E8%BE%BE%E5%BC%8F%E5%87%BD%E6%95%B0v01123) +- 优化 Contains 表达式解析为 where in 自动拆分,防止大于 1000 的 SQL 错误,如下: +```csharp +var arr = Enumerable.Range(1, 1333).ToArray(); +var sql = fsql.Select().Where(a => arr.Contains(a.Int)).ToList(); +//原来:where id in (1..1333) +//现在:where id in (1..500) or id in (501..1000) or id in (1001..1333) +``` ## v0.11.22 diff --git a/表达式函数.md b/表达式函数.md index 288e180..7edc49a 100644 --- a/表达式函数.md +++ b/表达式函数.md @@ -27,6 +27,12 @@ var t1 = select.Where(a => new[] { 1, 2, 3 }.Contains(a.testFieldInt)).ToSql(); //WHERE (a.`Id` in (1,2,3)) ``` +> 已优化,防止 where in 元素多过的 SQL 错误 + +原来:where id in (1..1333) + +现在:where id in (1..500) or id in (501..1000) or id in (1001..1333) + ## 查找今天创建的数据 ```csharp