Releases: dotnetcore/FreeSql
Releases · dotnetcore/FreeSql
v0.7.1
- 增加 表达式 .HasValue 和 !.HasValue 的解析支持;
- 增加 表达式 DateTime - DateTime 和 DateTime - TimeSpan 的解析支持;
- 增加 LambdaExpression 扩展方法 And/Or/Not 快速拼接表达式;
- 增加 CodeFirst 根据代码注释,迁移到数据库备注(需要实体类所在项目开启xml生成功能);
- 合并 FreeSql.DbContext 项目至 FreeSql;
- 优化 IUpdate.Set 支持 Set(a => new { Clicks = a.Clicks + 1, Time = DateTime.Now }) 指定多个字段更新的用法;
- 修复 .From.GroupBy Item2 以上元组参数未查找到的 bug #63;
- 修复 IUpdate.Set 表达式解析的 bug;
v0.6.10
v0.6.10
- 增加 TableAttribute 特性属性 DisableSyncStructure,当实体对应的是视图时,可使用本功能禁用迁移;
- 增加 FreeSqlBuilder UseEntityPropertyNameConvert() 全局转换实体属性名方法 #60;
v0.6.9
- 修复 批量插入/更新大量数据时,未使用NoneParameter,会导致部分未执行的bug;
v0.6.8
- 处理 非正常 Provider GC 可能为 null 的错误;
- 修复 Aop.ParseExpression 使用 FreeParse 方法死循环的 bug;
- 增加 ISelect.OrderBy 重载,与 WhereIf 相同行为;
v0.6.6
- 适配 FreeSql.Provider.MySqlConnector,和它对应的266个单元测试;
v0.6.5
- 增加 NavigateAttribute 配置导航关系;
- 修复 LinqToSql 方法,开启自动迁移时,迁移了无关类的 bug;
- 修复 Oracle DbFirst date(7) 类型未处理的 bug;
- 修复 AsSelect().Any() 未给其他条件时,产生 null bug;
- 修复 子查询使用非表达式方法时,参数无效的 bug;
- 增加 FreeSql.Extensions.LazyLoading 对 .net 4.5 的支持;
- 优化 MySql CodeFirst 增加 DateTime 迁移后,默认值为 0000-00-00 导致读取失败的 bug;
- 优化 LazyLoading 友好错误提示;
v0.6.3
- 补充 当初始化 ConnectionString 参数为空时,给出友好错误提示;
- 修复 IUpdate.IngoreColumns/UpdateColumns 若实体指定别名后,可能无效的bug;
v0.6.2
- 增加 FreeSql.Provider.MySqlConnector 实现包;
- 修复 mysql CodeFirst enum/set 小写时,对 MySqlConnector 不友好的 bug;
v0.6.1(拆解 FreeSql)
- 各数据库单独包、延时加载包;
- FreeSql.Extensions.LazyLoading
- FreeSql.Provider.MySql
- FreeSql.Provider.PostgreSQL
- FreeSql.Provider.SqlServer
- FreeSql.Provider.Sqlite
- FreeSql.Provider.Oracle
- 移除 IFreeSql.Cache,以及 ISelect.Caching 方法;
- 移除 IFreeSql.Log,包括内部原有的日志输出,改为 Trace.WriteLine;
- IAdo.Query<dynamic> 读取返回变为 List<Dictionary<string, object>>;
- 定义 IFreeSql 和以前一样,移除了 UseCache、UseLogger 方法;
v0.5.23
v0.5.23
- 补充 IUpdate.Set(a => a.Click == 10),简化 Set 更新单个字段表达式;
- 优化 延时导航属性的错误提醒,当无法匹配错误,转到重写类 get 时抛出(实现延时导航属性,与普通导航一起使用);
- 优化 ICodeFirst.SyncStructure 错误提示,当使用不可迁移实体时;
- 优化 实体数据属性 DbDefaultValue 处理;
- 修复 Expression 表达式解析 Convert 的判断 bug;
v0.5.21
- 修复 IncludeMany ManyToMany,若中间表未使用 延时加载 属性功能时,出现的 bug;
- 增加 IncludeMany Take(5) 功能,实现每个子集合只取5条记录;
v0.5.18
v0.5.18
- 增加 ISelect.Include 贪婪加载第一版,已通过集合的导航数据加载,包括 OneToMany/ManyToMany;
- 修改 IncludeMany ManyToMany ET 缓存的 bug;
- 完善 IncludeMany 联合键处理;
- 完善 Include/IncludeMany 单元测试;
- 修复 Include 延时加载 ManyToOne/OneToOne,当值为 null 时,仍然会查询一次数据;
- 修改 Query/ToList 混合使用时,可能导致的 ET 缓存 bug;
- 修改 Query 查询的实体设置了 IsIgnore 时,可能出现 ET 读取位置偏移 bug;
- 增加 变异的 IncludeMany,即使不是导航属性,也可以贪婪加载,Wiki;
v0.5.12
- 优化 连接预热策略:min pool size 不设置或 <= 0,则默认预热 5个;也可以设置 1;
- 取消 MySql CodeFirst 对表字符集的设置;
- 增加 ToList() 方法,作用与 ToList(a => new Dto()) 相同;
v0.5.11
v0.5.7
v0.5.5
v0.5.4
v0.5.4(青年版)
- 修复 Expression OrElse 两侧括号丢失的 bug;
- 修复 Expression DateTime 类型 CompareTo 在 MySql/SqlServer 下的 bug;
- 修复 ISelect.ToList(true) 无效的 bug;
- 增加 IAop.ConfigEntity 配置实体特性,可实现使用其他 ORM 的实体特性,#36;
- 优化 ISelect.GroupBy 查询,增加 .Value 实现聚合源字段查询,ToList(a => a.Sum(a.Value.Score)),#38;
- 增加 Expression string.Concat,#39;
- 补充 Expression IEnumerable.Contains 的支持,之前只能数组或IList;
v0.5.3
- 增加 ISelect.ToList(true) 贪婪加载 LeftJoin/InnerJoin/RightJoin 导航数据;
- 增加 IAdo.Query<T1, T2 ...> 多结果集查询;
- 增加 IAdo.ExecuteDataSet 多结果集查询;
- 优化 未设置实体属性 set 的将被自动过滤 IsIgnore;
v0.5.2
- 修复 SqlServer 工作单元 bug,需要同时设置 SqlCommand.Connection + Transaction;
- 补充 测试与支持联合主键的自增;
v0.5.1(五一版)
-
增加 ISelect/IInsert/IUpdate/IDelete.AsType 实现弱类型curd,如:Select<object>().AsType(实体类型);
-
补充 ISelect.From<T2>;
-
补充 ExpressionTree 单元测试;
-
优化 ToList(a => new Dto()),会按优先级查询 Join 实体属性;
-
补充 IDelete/ISelect/IUpdate WhereDynamic 方法,实现 dywhere 条件;
-
修复 WhereObject 内部方法,当开启 Lazy 延时属性时,并且传递实体查询时条件无效;
-
补充 实现表达式转换类型的解析,如:Select<object>().Where(a => (a as 实体类型).Id == 0);
-
完善 ExpressionTree 基础数据类型 TryParse 使用与单元测试;
-
优化 ManyToMany 中间实体未配置主键时,自动配置联合主键;
-
修复 Expression.And 的使用问题;
-
修复 IsIgnore 过滤字段后,查询的错误;
-
修复 ISelect2 以上 WhereIf 条件作用反了 bug;