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")];