-
2024-11-4
- SplitQuery 查询优化
- 版本更新至 v5.40.0
-
2024-10-30
- 支持使用变量的形式将 lambda 传入表达式中
- 版本更新至 v5.39.0
-
2024-10-1
- sharding 优化
- 修改 Chloe.SQLite 读写锁支持递归锁
- 版本更新至 v5.38.0
-
2024-9-22
- 代码优化
- Chloe.MySql 增加 MySqlFunctions.FindInSet()
- 版本更新至 v5.37.0
-
2024-9-11
- 修改在表达式树中多层嵌套使用 IQuery 对象引发的错误
- 版本更新至 v5.36.0
-
2024-9-10
- bug修改
- 版本更新至 v5.34.0
-
2024-9-6
- 代码优化
- 版本更新至 v5.33.0
-
2024-9-4
- 代码优化
- 版本更新至 v5.32.0
-
2024-8-22
- 支持 SplitQuery
- 功能增强以及个别 bug 修改
- 版本更新至 v5.30.0
-
2024-8-20
- 修改分片查询有内存暴涨风险问题
- 版本更新至 v5.28.0
-
2024-8-18
- 代码优化
- 版本更新至 v5.27.0
-
2024-8-14
- 性能优化(缓存查询时表达式树解析结果)
- 版本更新至 v5.26.0
-
2024-8-5
- 代码优化
- 版本更新至 v5.25.0
-
2024-8-1
- 代码整理:DbOptions.DefaultInsertCountPerBatchForInsertRange -> DbOptions.DefaultBatchSizeForInsertRange
- 版本更新至 v5.24.0
-
2024-7-26
- InsertRange() 修改:增加参数个数限制,以免超出数据库设置导致报错
- 版本更新至 v5.23.0
-
2024-7-22
- 重构 InsertRange 方法
- 版本更新至 v5.22.0
-
2024-7-10
- IDbContext 实现 ICloneable 接口
- 版本更新至 v5.21.0
-
2024-5-23
- Chloe.Oracle:调整 DateTime.Now 的解析以及调整 OracleTableGenerator 生成脚本换行问题
- Chloe.SqlServer:升级驱动依赖版本
- Chloe.Oracle、Chloe.SqlServer 版本更新至 v5.20.1
-
2024-5-21
- 代码优化
- 版本更新至 v5.20.0
-
2024-1-14
- 代码优化和 bug 修改
- 版本更新至 v5.19.0
-
2023-12-8
- 执行拦截器时先执行会话拦截器再执行全局拦截器
- EntityTypeBuilder 初始化时支持使用注解映射关系
- 支持属性为 null 或空时不参与插入
- 导航查询时,取消子对象将父对象设置到子对象对应的属性上默认行为,改为显示调用 IQuery.BindTwoWay() 的方式。注:此改动有破坏原本行为实现,谨慎升级!
- 版本更新至 v5.18.0
-
2023-12-5
- 支持人大金仓,由 hongyl 贡献
- 修改 FeatureEnumerator 在某些情况下出现异常问题
- 版本更新至 v5.17.0
-
2023-12-3
- 调整 string.IsNullOrEmpty() 解析
- 版本更新至 v5.16.0
-
2023-12-2
- 重构 DbContext 构造函数,增加 DbOptions 参数。升级提示:有些属于 DbContext 的选项配置转移到了 DbOptions 中,升级框架版本时请注意。
- 版本更新至 v5.15.0
-
2023-11-30
- 重构属性解析,增加 IPropertyHandler 属性解析器
- 版本更新至 v5.13.0
-
2023-11-20
- 修改更新操作:track 实体后更新实体时对值先做是否改变检查再做不可为 null 检查
- 支持设置 in 参数最大个数
- 版本更新至 v5.12.0
-
2023-11-17
- 支持 .net8
- 优化 method handler
- 版本更新至 v5.11.0
-
2023-6-11
- 排除字段功能增强
- 版本更新至 v5.10.0
-
2023-6-10
- 查询支持排除字段,参考 IQuery.Exclude() 方法
- 修改分片普通 Take 查询如 query.Take(20).ToList() 返回错误数据量 bug
- SqlGenerator 优化
- 版本更新至 v5.9.0
-
2023-5-24
- 代码整理
- 版本更新至 v5.7.0
-
2023-5-15
- 代码重构优化
- 版本更新至 v5.6.0
-
2023-4-21
- lambda更新操作增强,支持如:this.DbContext.Update(a => a.Id == 1, a => new Person() { Name = this.DbContext.Query().Where(p => p.Id == a.Id).First().Name });
- 版本更新至 v5.5.0
-
2023-4-12
- 删除一些废弃的方法
- 删除操作增强,支持如 dbContext.Delete(a => !this.DbContext.Query().Select(a => a.Id).ToList().Contains(a.CityId)) 复杂条件删除
- 版本更新至 v5.4.0
-
2023-3-22
- fix #359: 修改带排序的分组查询后再求总数执行错误问题,如 dbContext.Query().GroupBy(a => a.Id).OrderByDesc(a => Sql.Sum(a.Age)).Count()
- 版本更新至 v5.3.1
-
2022-11-17
- fix #344: 过滤器对Count、Max、Min、Avg无效 bug
- 版本更新至 v5.3.0
-
2022-5-22
- 支持分库分表(用法参考:ShardingDemo )
- 版本更新至 v5.0.0
-
2021-12-19
- 使用 C#10
- Chloe.MySql 支持设置 Schema
- 版本更新至 v4.19.0
-
2021-11-27
- 修改 #275
- 版本更新至 v4.18.0
-
2021-6-25
- 参数类型支持 ParamDirection.ReturnValue
- 版本更新至 v4.16.0
-
2021-5-28
- 异步操作优化(强烈建议升级到此版本)
- 版本更新至 v4.15.0
-
2021-1-31
- 实体支持对指定字段忽略更新(UpdateIgnoreAttribute)
- 版本更新至 v4.12.0
-
2021-1-23
- 支持设置方法解析器
- 版本更新至 v4.11.0
-
2020-11-27
- 修改Query.Any()方法有可能引起的 sql 慢查询问题
- 修改个别 bug
- 版本更新至 v4.9.0
-
2020-7-16
- 修改bug:#183
- 版本更新至 v4.8.0
-
2020-6-21
- 性能优化
- 版本更新至 v4.7.0
-
2020-5-19
- 修改 DbParam.Value 和 DbParam.Type 都为 null 时的 bug
- 版本更新至 v4.6.0
-
2020-5-6
- 修改 Sum 函数 bug(影响范围Chloe.SqlServer v4.5.0) #161
- Chloe.SqlServer 更新至 v4.5.1
-
2020-4-12
- IDbContext、IQuery 支持异步操作方法
- 修改些许 bug
- 版本更新至 v4.5.0
- 注:此版本不再支持 .Net Framework4.0,如需在 .Net Framework4.0 下使用,请引用 Chloe.ORM v4.1 或以下版本
-
2020-3-29
- 添加 IQuery.IncludeAll() 方法
- 版本更新至 v4.1.0
-
2020-1-12
- 支持导航属性,使用方式请参考 github 上的 demo
- 支持过滤器,使用方式请参考 github 上的 fluent mapping
- Sequence 支持指定 schema
- 支持行版本乐观并发控制
- DbContext.Session 支持传入外部事务
- 取消 Chloe.SqlServer.Annotations.TimestampAttribute,改用 Chloe.Annotations.ColumnAttribute.IsRowVersion
- IJoiningQuery 改为 IJoinQuery
- 版本更新至 v4.0.0
- 注:此版本较之前版本有些许不兼容(但影响不大),升级请谨慎
-
2019-11-7
- 修改bug #129
- 版本更新至 v3.10.0
-
2019-5-12
- 修改bug #90
- #86 Chloe.Oracle 支持触发器自增字段(AutoIncrementAttribute)
- 重构 InserRange 接口
- 版本更新至 v3.9.0
-
2019-3-23
- Chloe.SqlServer: 支持 timestamp 类型映射
- 版本更新至 v3.8.1
-
2019-3-20
- DbContext.SqlQuery 方法支持 ColumnAttribute 特性映射
- 增加 IDbContext.UseTransaction() 方法
- lambda 中支持 new 数组操作
- 版本更新至 v3.8.0
-
2019-3-14
- 代码优化
- 版本更新至 v3.6.0
-
2019-2-27
- 修改 Chloe.Oracle v3.3-v3.4.2 插入数据存在的bug
- Chloe.Oracle 版本更新至 v3.4.3
-
2019-1-20
- GroupBy 方法参lambda中支持 new 匿名类操作,如:query.GroupBy(a => new { a.CityId, a.Age })
- 代码优化
- 版本更新至 v3.4.0
-
2019-1-3
- 支持 case when 操作,具体参考:https://github.com/shuxinqin/Chloe/blob/master/src/Chloe/CaseWhen.cs
- 新增值比较函数 Sql.Compare(T value1, CompareType compareType, T value2),可支持字符串大小于比较
- 查询时支持 with nolock/updlock
- 优化oracle插入:利用 returning into 语法返回序列值
- 版本更新至 v3.3.0
-
2018-11-7
- Chloe.SqlServer bug修改: 分页查询时对分页结果进行排序 https://stackoverflow.com/questions/10980877/sql-row-number-and-sorting-issue
- Chloe.SqlServer 3.*版本更新至 v3.2.1
- Chloe.SqlServer 2.*版本更新至 v2.8.1
-
2018-11-6
- DbContext.InsertRange 方法增加参数 table
- SqlServer 插入时,使用 SELECT @@IDENTITY 获取返回的自增值(3.0版本使用的是 output.inserted.Id)
- 版本更新至 v3.2.0
-
2018-6-24
- 支持 fluent mapping
- 支持用户定义数据库函数(Chloe.Annotations.DbFunctionAttribute)
- Chloe.SqlServer:支持 SqlServer2012 序列
- 支持 PostgreSQL 数据库
- 注:在 v3.0 版本中,实体特性(TableAttribute,ColumnAttribute...)命名空间由 Chloe.Entity 变更为 Chloe.Annotations,相对 v2.* 有些许不同,已用 v2.* 版本的项目谨慎升级
- 版本更新至 v3.0.0
-
2018-6-23
- 修改如果实体指定了 Schema,执行插入、更新、删除操作时不带 Schema 的 bug
- 版本更新至 v2.28.0
-
2018-4-28
- 修改 ReflectionExtension.SetMemberValue 方法始终抛出异常的 bug
- 版本更新至 v2.27.0
-
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
- 正式开源