Skip to content

Releases: dotnetcore/FreeSql

v0.7.1

26 Jun 16:18
Compare
Choose a tag to compare
  • 增加 表达式 .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

14 Jun 03:20
Compare
Choose a tag to compare

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

28 May 11:57
Compare
Choose a tag to compare

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

14 May 01:35
Compare
Choose a tag to compare

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

09 May 04:26
Compare
Choose a tag to compare

v0.5.11

  • 修复 复杂的表达式解析 OR 的括号 bug;
  • 增加 linq to sql 的查询语法,以及单元测试,wiki
  • 补充 IFreeSql 增加与实现 IDisposable 接口(依然要保持单例的使用习惯);
  • 增加 CurdBefore、CurdAfter AOP 事件,可监控执行增删查改;
  • 增加 SyncStructureBefore、SyncStructureAfter AOP 事件,可监控CodeFirst迁移;

v0.5.7

28 Apr 14:02
Compare
Choose a tag to compare

v0.5.7

  • 补充 nuget 包增加 xmlDoc 编译,原来使用者之前一直没有注释;
  • 调整 Column.Unique 定义规则,解决同一属性不可配置多次的问题;
  • 优化 兼容不同数据库 bool 的表达式解析,如:Where(a => a.Bool)、Where(a => !a.Bool);

v0.5.5

26 Apr 17:24
Compare
Choose a tag to compare

v0.5.5

  • 增加 Column.MapType 类型映射,可将 enum 映射为 int/string 等,文档
  • 增加 Column.Unique 唯一键,多个属性指定相同的标识,代表联合键,#42
  • 增加 Expression string.Concat,#39
  • 补充 Expression IEnumerable.Contains 的支持,之前只能数组或IList;
  • 补充 IDbFirst GetTableByDatabase 返回 uk/fk/index 名称,以便迁移;
  • 补充 MapType/Unique 单元测试;
  • 优化 PostgreSQL jsonb 类型使用习惯;

v0.5.4

25 Apr 09:44
e26a124
Compare
Choose a tag to compare

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;