FreeSql v1.3.4 Release Notes
Release Date: 2020-04-01 // about 4 years ago-
- 调整 Repository 接口定义,合并为一个 IBaseRepository;
- 调整 移除对 System.ValueType 的依赖,减少版本冲突问题;(目前 FreeSql.dll 无任何依赖)
- 调整 Oracle StringLength/MaxLength -1 时候映射为 nclob;
- ⚡️ 调整 IInsert/IUpdate NoneParameter 方法,增加参数 isNotCommandParameter 可设置是否使用参数化;
- 👀 调整 FreeSqlBuilder,准备移除 UseEntityPropertyNameConvert/UseSyncStructureToLower/UseSyncStructureToUpper 方法;#260;
- 移除 In多列表达式函数解析 #243;
- 优化 IncludeMany 扩展方法对 T1 不自动迁移;
- 优化 BulkCopy 对可空类型的属性处理; #227
- 优化 IAdo.Query 方法,当传入带主键特性的实体时,防止主键列为 null 时导致整行记录也为 null;
- 优化 TableInfo 元数据对 interface 实现类 IsVirtual 重写的判断(增加 IsFinal == false);
- 优化 Navigate 属性未设置 set 时的友好错误提示;
- 优化 延时属性重写类对 protected set 的支持;
- 优化 ConnectionPool 提升被动连接断开的体验(会卡的可以升级);
- 优化 集合导航属性表达式中忘记使用 AsSelect() 的友好错误提示;
- 增加 FreeSqlBuilder UseNameConvert 方法,类名、属性名都生效;
- 增加 CodeFirst 实体类注释 -> 表备注,之前只能属性注释 -> 字段备注;
- 增加 FreeSql.Generator Sqlite 数据库生成实体类;
- 增加 Sqlite DbFirst 实现;
- 增加 Oracle clob/nclob 大文本类型读写支持;#259;
- 增加 ISelect.ToTreeList 扩展方法查询数据,加工为树型 List;(注意:实体需要配置父子导航属性)
- 增加 ISelect`1 ToDictionary 方法查询返回字典;
- 👷 增加 Pgsql JToken/JObject/JArray 索引访问的表达式解析;
- 增加 object.Equals 表达式解析;
- 增加 ISelect`1 AsQueryable 方法,实现将 ISelect 转换为 IQueryable 类型;
- 增加 ISelect.RawJoin 方法以便实现 Outer Apply 查询;#200;
- 增加 IAdo.ConnectionString 属性返回 UseConnectionString 传入的值;
- 完善 表达式拼接方法,从 T1-T5;#256;
- 修复 因兼容 #184 导致 MySql Enum 表达式解析为 int 的 bug;
- 修复 FreeSql.Provider.MySqlConnector Enum 自定义元素值,导致值计算错误的 bug;
- 修复 SqlServer charindex 表达式函数参数位置的错误;
- 修复 MySql locate 表达式函数参数位置的错误;
- 修复 UseGenerateCommandParameterWithLambda(true) 时子语句的参数没整合到主语句;#231;
- 修复 本地区域化后 ToSql 产生的错误,比如数字可能生成 SQL 为:100,000;
- 修复 StringLength/MaxLength 对 Oracle varchar2 类型无效的 bug;
- 修复 CodeFirst IsNullable 迁移脚本重复 NOT NULL 语法错误;
- 修复 DbFirst Oracle/Dameng 序列值使用复杂的问题,结合 [Column(InsertValueSql = "xxx.nextval")];