v2.0.105
Compare
Choose a tag to compare
Search for a tag
2881099 released this
Dec 7, 2020
修复 Ado.Net 扩展方法的多表查询 bug;#592
优化 ToSql 别名大小写问题;#467
优化 IUnitOfWork/DbContext/Repository .Orm.Ado 和 CRUD 都与自身事务保持一致;
完善 IDelete WhereIf(bool, sql) 方法;
v2.0.101
Compare
Choose a tag to compare
Search for a tag
2881099 released this
Nov 24, 2020 · 25 commits to master since this release
以后每三个月一次版本号:2.3/2.6/2.9,修复严重 bug 会发布 2.3.x
增加 IncludeByPropertyName 按属性名进行 Include/IncludeMany 操作;#278
增加 ISelect<...> 多表查询 HzyTuple 新姿势;(感谢 HZY 贡献)
增加 ISelect Cancel 用于取消本次查询;
增加 IncludeIf/IncludeByPropertyNameIf 方法;
增加 表达式树函数解析 byte[] Length;#505
增加 FreeSql Async CancellationToken 参数;#537
增加 FreeSql.DbContext/Repository Async CancellationToken 参数;#537
增加 Oracle/达梦 BulkCopy 支持;
增加 IsVersion 对 byte[] 的支持;#548
增加 IN 参数扩展 where id in @ids;#560
增加 IAdo.QuerySingle 查询单条记录;#560
增加 pgsql 表达式树解析 hstore[""];
优化 varchar/nvarchar 的 NoneParameter 处理;#519
优化 表达式树 SqlExt.IsNull 对布尔类型的解析;#500
优化 MapRead 对 NULL 字段的处理;
优化 表达式树三元表达式解析,当 Test 为变量时不解析成 case when end;
优化 AsTreeCte 对 MySql 5.6 的兼容;#536
优化 分页 Page(..).Count() 顺序问题;
优化 自动 IsIgnore 处理;
移除 ISelect/IUpdate/IDelete class 约束限制;
修复 线程事务嵌套事务的 bug;#502
修复 #454 优化遗留的 bug,影响 Aop.AuditValue 事件;#521
修复 实体类拥有构造参数时,ToList 映射查询无效的 bug;
修复 FreeSql.Generator 处理 SqlServer 默认值的问题;
修复 SqlServer RowNumber 分页有可能产生顺序不对的 bug;
修复 .net5 单文本部署读取注释报错;
v1.10.3
Compare
Choose a tag to compare
Search for a tag
2881099 released this
Nov 6, 2020
修复 #454 优化遗留的 bug,影响 Aop.AuditValue 事件;#521
如果使用了 Aop.AuditValue,批量更新的时候遇到 Object reference not set to an instance of an object 错误,请升级。
v1.10.1
Compare
Choose a tag to compare
Search for a tag
2881099 released this
Oct 22, 2020 · 3 commits to master since this release
增加 ISelect.InsertInto 将查询转换为 INSERT INTO t1 SELECT ... FROM t2 执行插入;#469
增加 GlobalFilter.ApplyOnly 继承的实体才生效;#495
增加 FreeSql.Generator 参数 -readkey 0 的设置;
优化 WhereDynamicFilter 支持 string 比较大小 > < >= <=;#479
优化 IncludeMany 筛选字段中未指定主键,并且 then.IncludeMany 继续向下,则自动附加查询主键;
优化 WhereDynamic 传入 DynamicFilterInfo 也能执行;
优化 WhereDynamic 支持按字段名、属性名匹配;
优化 实体类注释,基类在其他 Assembly 时也能读取;
优化 支持实体类使用 new 重写属性;
优化 ToAggregate 执行时忽略已设置的 OrderBy;
优化 dto 映射查询时忽略已指定的映射,避免重复查询字段;#494
优化 MySql CodeFirst 索引的建立 ;#498
补充 异步方法 ToListAsync(a => {}) 对 IncludeMany 的支持;
修复 AsTreeCte 开启自动迁移时,错误的创建了 as_tree_cte 表;#476
修复 内部 decimal 默认值在 core 3.1+ 报错的问题;
修复 decimal? 可空数字设置 Column Scale 无效的问题(decimal正常);
修复 DbContext/UnitOfWork EntityChangeReport 参数 BeforeObject 值无效的 bug;
修复 lambda 表达式解析变量转换时的 bug;#490
修复 Firebird Embedded 版本系统表 isidentity_type 兼容问题;
修复 Firebird Embedded 2.5 不支持 boolean 的 bug;
v1.9.0
Compare
Choose a tag to compare
Search for a tag
2881099 released this
Sep 23, 2020 · 1 commit to master since this release
增加 FreeSql.Provider.Firebird 数据库实现 #443;
增加 IncludeMany(a => a.Childs).ToList(a => new { a.Childs }) 指定集合属性返回;
增加 ISelect<11..16> 16 个联表查询;
增加 ISelect Aggregate(lambda, out var result) 方法;
增加 ISelect OrderByIf 方法 #446;
增加 ISelect OrderByPropertyName 方法 #446 #278 #361 #197;
增加 IUpdate/IDelete WhereIf 方法 #446;
增加 ISelect/IInsert/IUpdate/IDelete CommandTimeout 方法设置命令超时;
增加 GlobalFilter.ApplyIf 创建动态过滤器;
增加 SqlExt.IsNull 方法;
增加 Oracle DbFirst 视图的支持;
增加 IAdo.CommandFluent(sql) 方法执行 SQL 命令;
优化 string IsNullable = false 时插入 null 自动转为 "" #445;
优化 GetDbParamtersByObject 参数为字典时修剪 @?: 前辍 #456;
优化 SqlExt.Sum/Max/Min/Avg 同时支持开窗或普通聚合函数;
优化 ToSql FieldAliasOptions.AsProperty 别名问题;#467
优化 FreeSql.Generator -Match 支持生成一个表;
调整 FreeSql.Generator 移除 CanInsert = false 特性生成;
调整 AdoNet CRUD 扩展方法到 namespace FreeSql;
修正 SqlServer UseConnectionFactory 类型标识;
补充 达梦 DbFirst int 类型识别;
修复 FreeSql.DbContext 对同一实体重复 Update,第二次无效的 Bug;
修复 ISelect Any(lambda) 条件被附加的问题,不便于再次使用 ISelect 对象;
修复 ISelect ToDelete/ToUpdate 事务对象未传播的 bug;
修复 ISelect Include 多表字段名相同(不区分大小时)时的 bug;
修复 IAdo.Query 返回实体中带有延时导航属性,读取顺序不对的 bug;
修复 Ado.Net Crud 扩展方法事务的友好异常提示;
修复 使用查询参数化功能时 ToList 子查询未传播参数列表的 bug;#462
修复 子查询 Count/Max/Min/Avg/Sum 使用了 Limit(1) 的 bug;#462
修复 IAdo.Query(sql) 错误;
修复 SqlServer SqlBulkCopy IgnoreColumns 无效的 bug;
修复 达梦 DbFirst 获取字段 IsNullable 无效的问题;#454
v1.8.1
Compare
Choose a tag to compare
Search for a tag
2881099 released this
Aug 26, 2020 · 4 commits to master since this release
增加 人大金仓 Ado.Net 实现 FreeSql.Provider.KingbaseES #325;
增加 DbContext/Repository BeginEdit/EndEdit 批量编辑数据的方法 #397;
增加 FreeSql.Provider.SqlServerForSystem 使用 System.Data.SqlClient.dll 兼容更多运行平台 #401 #398 #395 #392 #391;
增加 lambda 表达式树解析子查询 ToList + string.Join() 产生 类似 group_concat 的效果(适配了 sqlserver/pgsql/oracle/mysql/sqlite/达梦/金仓) #405;
增加 IDbFirst.ExistsTable 方法判断表是否存在;
增加 IDbFirst.GetTableByName 方法获取单表信息,包括列详情、主键、唯一键、索引、备注;
增加 ICodeFirst.SyncStructure 强制同步参数 isForceSync #412;
增加 ISelect<2..10> 多表 WithSql 方法;
增加 IDbConnection/IDbTransaction 对象的扩展方法 Select/Insert/Update/Delete 实现 CRUD #267;
增加 IAdo.GetDbParamtersByObject 方法获取 DbParameter[];
增加 IAdo.ExecuteConnectTest 快速判断连接是否可用 #113;
增加 Aop.AuditDataReader 事件拦截 DataReader 读取值 #436;
修复 fsql.InsertOrUpdate 在同线程事务模式内使用的 bug #402;
修复 fsql.Ado.ExecuteDataTable 当记录不存在时,未返回 Columns 设置 #403;
修复 IInsert/IUpdate BatchProgress 异步执行不生效的 bug;
修复 1.7.1 IsNullable 遗留问题;
修复 Oracle nvarchar2 主键批量更新的问题;#411
修复 达梦 DbFirst 无法识别字段是否为主键的问题;
修复 SqlExt PartitionBy 无法传入多列的问题;
修复 WhereDynamicFilter System.Text.Json 反序化后的类型转换问题 #371;
修复 ISelect ToList("id,title") 属性和字段顺序不同时的问题;
修复 Dto 映射查询属性名不区分大小写 bug #427;
修复 参数化 Column DbType 设置特殊值时的类型判断;
修正 UnitOfWorkManager Requierd 命名为 Required;
优化 pgsql DbFirst 序列的识别,以及 pgsql10 的自增识别;
优化 IsNullable = false 插入的数据值为 null 则以默认值插入(防止DB报错) #384;
优化 GroupBy ToList lambda 中可以直接使用 a.Key;
优化 NoneParameter Oracle 文本超长的问题;
优化 lambda 使用 a == null ? 1 : 0 支持类似这样直接判断实体的情况;
优化 IUpdate.SetSource 机制不更新主键字段;
优化 IUpdate.SetSource 无主键的错误提示;
优化 WhereDynamic 传入集合对象时,逻辑 OR 换为 IN;
优化 指定导航属性查询时,如果下级导航属性被 Include 过,则将他们也查询出来;
完善 AsTreeCte + ToUpdate/ToDelete 实现树所有子节点删除或更新;
完善 DbUpdateVersionException IsVersion 行版本异常;
完善 DbContext/UnitOfWork EntityChange 更新对象之前的值;
完善 ToChunk 分块加载查询,应用到 ISelect`1..10 中;
完善 ISelect.WithSql 方法,支持传入参数化 #413;
v1.7.1
Compare
Choose a tag to compare
Search for a tag
2881099 released this
Aug 1, 2020 · 16 commits to master since this release
增加 ColumnAttribute Precision/Scale 设置;
增加 "x1".First/FirstOrDefault 表达式函数解析;
调整 ColumnAttribute IsNullable 对 int/long 等值类型也可生效;#384
修复 $"{a.Code}_{a.Id}" lambda 解析当 {} 多于3个时的 bug(.net 内部机制很坑);
3个 {} 时,Arguments[1..3] 解析出来是分开的
4个 {} 时,Arguments[1] 只能解析这个出来,然后 [1] 里面是 NewArray []
补充 fsql.InsertOrUpdate UpdateColumns 数据存在时只更新指定的字段 #394 #330 #115 #17;
v1.6.0
Compare
Choose a tag to compare
Search for a tag
2881099 released this
Jun 27, 2020 · 3 commits to master since this release
增加 人大金仓 OdbcKingbaseES 实现;#325
增加 神州通用 ShenTong 实现;
增加 WhereDynamicFilter 操作符 Range/DateRange/Any/NotAny,实现范围/日期范围/In查询;
增加 ISelect.AsTreeCte() 递归查询树表(向下或向下);
增加 IUnitOfWork Orm 属性直接访问 IFreeSql CRUD 事务与工作单元一致;
增加 SqlExt 常用开窗函数的自定义表达式解析;
增加 SqlExt.Case().When(..).End() 自定义表达式解析;
增加 SqlExt.Grou