-
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
- 支持Distinct:IQuery.Distinct()
- 支持取负操作:a=> -a.Id
- 修改查询如:query.Take(10).GroupBy(a => a.Id) ,先Take或Skip,然后在GroupBy操作,生成错误sql的bug
- 丰富子查询,支持 exists(select id from ...),in(select id from ...) 等操作,具体用法:https://github.com/shuxinqin/Chloe/blob/master/src/DotNet/ChloeDemo/MsSqlDemo.cs#L212
- 版本更新至 v2.18.0
-
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
- 正式开源