Skip to content

Latest commit

 

History

History
147 lines (142 loc) · 7.82 KB

更新日志.md

File metadata and controls

147 lines (142 loc) · 7.82 KB
  • 2018-3-25

    • 移除过时类 AggregateFunctions 和 DbFunctions
    • 版本更新至 v2.26.0
  • 2018-3-11

    • 修改在lambda中使用子查询作为相等判断的操作数时生成复杂的sql影响效率问题,如q.Where(a => a.Id == context.Query().First().Id)
    • 版本更新至 v2.25.0
  • 2018-2-3

    • 新增API:IDbContext.SqlQuery(string sql, object parameter)
    • IDbContextServiceProvider -> IDatabaseProvider
    • 版本更新至 v2.24.0
  • 2018-1-6

    • 修改 IQuery.Average 部分方法的返回类型(所有Average方法将返回可空类型,避免当数据量为空时报错)
    • 标记 AggregateFunctions 和 DbFunctions 类 ObsoleteAttribute,取而代之使用 Chloe.Sql
    • 版本更新至 v2.23.0
  • 2017-11-20

    • 新增api:IJoiningQuery.Where()
    • lambda中使用相等(==)或不相等(!=)判断考虑数据库null值问题,如 a.Name == a.XName 会被翻译成 a.Name == a.XName or (a.Name is null and a.XName is null);a.Name != a.XName 会被翻译成 a.Name <> a.XName or (a.Name is null and a.XName is not null) or (a.Name is not null and a.XName is null)
    • 增加判断相等和不等api:Sql.Equals(T value1, T value2),Sql.NotEquals(T value1, T value2),此两个接口不会考虑数据库null值问题
    • 整合 .NET CORE 和 .NET Framework nuget安装包,统一使用安装命令 Install-Package Chloe.xxx,即 .NET CORE 版不再使用额外的安装包 ChloeCore.xxx
    • 版本更新至 v2.22.0
  • 2017-10-27

    • 支持 string.Replace()
    • 版本更新至 v2.21.1
  • 2017-10-20

    • 支持数据库 int64 类型数据映射到枚举
    • 优化 'IN' 查询
    • 性能优化
    • 版本更新至 v2.21.0
  • 2017-10-11

    • fix bug:对于实体包含类型为double,float,decimal的属性,调用 IDbContext.InsertRange() 方法插入数据时,生成错误sql导致插入数据有误。
    • 版本更新至 v2.19.0
  • 2017-9-25

  • 2017-9-18

    • 新增api:IDbContext.InsertRange()
    • Chloe.SqlServer:支持 SqlBulkCopy 批量插入数据接口,MsSqlContext.BulkInsert()
    • Chloe.Oracle:对于 a => a.Name == "" 将被翻译成 Name is null
    • 版本更新至 v2.17.0
  • 2017-9-3

    • api 'IDbContext.SqlQuery()' 的泛型参数支持 dynamic 类型
    • 在 lambda 中支持使用'ToString()'方法(仅部分类型)
    • 版本更新至 v2.16.0
  • 2017-8-24

    • 支持 .NET Core2.0
    • 版本更新至 v2.15.0
  • 2017-8-12

    • 新增api:IGroupingQuery.OrderBy() 和 IGroupingQuery.OrderByDesc()
    • 版本更新至 v2.14.0
  • 2017-8-10

    • lambda 表达式中支持 decimal 类型数值相加
    • 版本更新至 v2.13.0
  • 2017-7-9

    • 实体支持多主键
    • 版本更新至 v2.12.0
  • 2017-7-6

    • #18:支持数据库 byte 类型映射到枚举
    • 修改Chloe.MySql、ChloeSQLite BUG:在 lambda 表达式树中使用 'bool.Parse("1")' 方法时生成错误 sql
    • 版本更新至 v2.11.0
  • 2017-6-18

    • 增加更易用的多表连接查询接口 DbContext.JoinQuery
    • 修改连续调用 Skip 方法时生成错误的 sql 语句 bug,如 IQuery.Skip(10).Skip(5)
    • 版本更新至 v2.10.0
  • 2017-6-15

    • 支持插入无主键的实体
    • 将特性 SequenceAttribute 命名空间修改为 Chloe.Entity,同时将其移到 Chloe/Entity 文件夹下
    • 增加 Add DbExpressionType.Coalesce,修改 ?? 操作符生成sql策略: 如 a.Age??18 将会被翻译成相应的数据库函数,如 ISNULL(Age,18)
    • 修改 IDbSession.BeginTransaction() 的实现:之前版本其内部统一使用 IsolationLevel.ReadCommitted,现修改为调用数据库驱动的无参方法,即 DbConnection.BeginTransaction()
    • 版本更新至 v2.9.0
  • 2017-6-4

    • CURD 支持指定表名
    • Chloe.SQLite 增加读写锁
    • 修改BUG:当枚举类型不是 int 类型时,将枚举值转换为数据库值报错
    • 版本更新至 v2.8.0
  • 2017-5-21

    • 特性 TableAttribute 支持设置 Schema
    • 修改issue#14 Query().Sum 的bug
    • 略微调整字符串相加生成的sql策略
    • 版本更新至 v2.7.0
  • 2017-4-8

    • 特性 ColumnAttribute 增加 DbType 和 Length
    • 支持注册映射类型
    • 在lambda表达式树中支持取模运算符
    • DbContext.SqlQuery() 移除对泛型 T 的 new() 约束
    • 支持数据库 int16 类型映射到 C# 枚举类型
    • Chloe.Oracle:支持数据库 int16 类型映射到 C# 的 bool 类型
    • IGroupingQuery.ThenBy() 更改为 IGroupingQuery.AndBy()
    • 版本更新至 v2.6.0
  • 2017-3-3

    • 简化连接查询操作#9:IJoiningQuery 接口增加多个重载方法,支持 query.LeftJoin((a, b) => a.SN == b.UserSN).LeftJoin((a,b,c) => b.Id==c.BId)... 写法
    • 移除 DbContext.Query() 和 DbContext.QueryByKey(object key, bool tracking = false) 的泛型 TEntity 约束(where TEntity : new()),改为抛出异常的方式,即当传入的 TEntity 泛型不含有空构造函数时会报异常提示
    • 修复bug:执行分组查询如 g = g.Having(a => true); 时,解析 a => true lambda表达式树生成错误 sql 问题
    • 移除废弃的接口,DbContext.CurrentSession 和 DbContext.Update(Expression<Func<TEntity, TEntity>> body, Expression<Func<TEntity, bool>> condition)
    • 更改开源协议:由 apache 2.0 更改为更加宽松的 MIT 开源协议
    • 版本更新至 v2.5.0
  • 2017-1-19

    • 支持在lambda中使用Nullable.HasValue 和 obj.Equals(object obj)
    • 版本更新至 v2.4.0
  • 2017-1-6

    • 增加 sql 拦截器功能
    • 修复问题:.Net Core 版本中通过 DbContext.SqlQuery() 或 IDbSession.ExecuteReader() 方法调用存储过程,如果有输出参数(output),方法执行完得不到返回的参数值
    • 版本更新至 v2.3.0
  • 2016-12-20

    • Fixes bug: 执行查询如 context.Query().Select(a => new User() { Id = a.Id, Age = a.Age }).Where(a => a.Id == 1).ToList();,其中,User.Id 是继承属性,当调用投影映射 Select 方法 Id=a.Id 后,后续的Where或其它方法lambda中用到Id这个属性,会出现异常问题。
    • 版本更新至 v2.2.1
  • 2016-12-18

    • 修改内容:增加API IDbContext.QueryByKey(object key) 和 IDbContext.DeleteByKey(object key)
    • 版本更新至 v2.2.0
  • 2016-12-10

    • 修改内容:如果一个继承属性出现在 IQuery.Select 方法的 lambda 中,会出现空引用异常,现已修复
    • 版本更新至 v2.1.2
  • 2016-12-7

    • 修改内容:InternalDbSession 中的 IDbCommand 是单例可重用的,所以,每次调用 PrepareCommand 方法时需要清掉上次执行的残留参数,即执行 cmd.Parameters.Clear()(主要防止以下“特俗”情况:当执行 sql 过程出现异常,会来不及调用 cmd.Parameters.Clear(),就会出现残留的参数,为了保证每次使用 IDbCommand 不受上次异常情况下的影响,所以得清除一下上次残留的参数)
    • 版本更新至 v2.1.1
  • 2016-12-4

    • 支持 Oracle 数据库
    • 实体支持继承
    • 支持存储过程
    • 重命名:NotAutoIncrementAttribute --> NonAutoIncrementAttribute
    • 废弃 DbContext.CurrentSession 属性,取而代之 DbContext.Session
    • IQuery 接口增加 TakePage 方法
    • 内部代码结构调整
    • 版本升级至 v2.1.0
  • 2016-8-26

    • 版本升级至 v2.0.0
    • 发布 ChloeCore.MySql NuGet 包
  • 2016-8-8

    • 支持 SQLite 数据库
    • .NET Ver update: v1.0.2
    • .NET Core Ver update: v1.0.4
  • 2016-8-1

    • 支持 .NET Core
    • 发行 NuGet 包
      • .NET Ver: v1.0.1
      • .NET Core Ver: v1.0.3
  • 2016-7-25

    • 支持 MySql 数据库
  • 2016-7-4

    • 正式开源