Commit Graph

58 Commits

Author SHA1 Message Date
28810
9ad454376e - 优化 主键 Guid 自动赋值的优先级,低于 Aop.AuditValue 事件(实现自定义 Guid 值);#274 2020-04-14 16:37:30 +08:00
28810
52fbe5ed86 - 优化 DbContext/Repository Orm 属性进行 CURD 与自身事务相同【新突破】;#270 2020-04-10 19:54:43 +08:00
28810
03fe0921ee - 增加 EfCoreFluentApi HasData 设定 CodeFirst 种子数据;
- 完善 EfCoreFluentApi 功能测试;
- 增加 DbContextOptions.NoneParameter 设置是否使用参数化执行 Insert/Update;
2020-04-03 08:55:56 +08:00
28810
bbe5450eb9 - 调整 IInsert/IUpdate NoneParameter 方法,增加参数 isNotCommandParameter 可设置是否使用参数化; 2020-03-31 06:13:43 +08:00
28810
72781596bd - 移除 In多表表达式函数解析 #243;
- 调整 SafeObjectPool 源码移入项目;
2020-03-20 20:32:49 +08:00
28810
85a6ae49e4 - 优化 BulkCopy 对可空类型的属性处理;#227 2020-03-13 10:28:17 +08:00
28810
720960af14 - 优化 BulkCopy 默认插入自增键;
- 优化 BulkCopy 对可空类型的属性处理;#227
2020-03-11 14:06:28 +08:00
28810
24cc8bc1da - 调整 Aop 改为 event 事件;
- 调整 Ado.AopCommandExecuting/AopCommandExecuted 到 Aop.CommandBefore/After;
- 增加 Aop.TraceBefore/After 事件;
2020-03-02 18:57:53 +08:00
28810
a92c279c72 - 修复 Ado.Query 查询字段重复时报错;#162 #165 #161 - 增加 FreeSql.Provider.MsAccess 支持 Access 数据库操作,已通过 2003/2007 版本测试; 2019-12-24 06:16:52 +08:00
28810
834bdea11f - 增加 IInsert.ExecutePgCopy 扩展方法执行 PostgreSQL Copy 批量导入,在 FreeSql.Provider.PostgreSQL 可用; 2019-12-21 16:44:31 +08:00
28810
c335eab82c - 增加 IInsert.ExecuteSqlBulkCopy 扩展方法执行 SqlBulkCopy 批量插入,在 FreeSql.Provider.SqlServer 可用; 2019-12-21 14:43:24 +08:00
28810
c268970c71 - 增加 IInsert.ToDataTable 方法,为 BulkCopy 操作提供数据,该文件处理了(表名、字段名、类型)映射和忽略列; 2019-12-20 21:53:44 +08:00
28810
ab1d0a2cb5 - 增加 IInsert/IUpdate BatchOptions 方法指定批量插入的设置; 2019-12-20 19:47:43 +08:00
28810
206d7bdbe0 - 增加 达梦数据库 ODBC 适配,和单元测试,支持 CodeFirst 模式开发; 2019-12-09 21:25:01 +08:00
28810
20e06ef3a2 - 修复 批量插入 Values 数量限制超出的判断; 2019-11-25 22:14:09 +08:00
28810
01b31c095b - 增加 实体特性 [Column(ServerTime = DateTimeKind.Utc)] 使用数据库时间执行插入数据;
- 修复 ToList(a => new Dto { .. }) 在使用 GroupBy 之后报错的 bug;
- 修复 注释迁移到数据库,在 asp.net 4.7 无效的问题;
2019-11-25 17:30:36 +08:00
28810
12be7f0051 - 调整内部参数化处理逻辑,为以后 Where 条件参数化做准备; 2019-11-22 05:58:17 +08:00
28810
d6010b4b51 - 修复 SqlServer DbFirst、CodeFirst 查询实体表的列信息错误,当设置了表/列多个扩展属性时发生;
- 修复 SqlServer2005 CodeFirst 迁移时,不支持 SET (LOCK_ESCALATION TABLE) 的错误(已做适配);
- 修复 SqlServer2005 批量插入SQL语法错误,不支持 Values(),()(已做适配);
- 完善 SqlServer2005 环境跑通了所有单元测试;
2019-11-19 00:38:34 +08:00
28810
dda7c8bc9c - 增加 AsTable 和 Repository 分表时的自动迁移分表功能;
- 增加 ICodeFirst.SyncStructure(Type entityType, string tableName) 指定表名来迁移实体;
```csharp
fsql.CodeFirst.SyncStructure(typeof(Log), "Log_1"); //迁移到 Log_1 表
fsql.CodeFirst.SyncStructure(typeof(Log), "Log_2"); //迁移到 Log_2 表
```
2019-11-13 19:57:44 +08:00
28810
be77060ea8 - 增加 MySql 特有功能 On Duplicate Key Update 功能; 2019-11-11 22:08:21 +08:00
28810
97351a4e6e - 优化 Aop.AuditValue 审计过的值,IUpdate.UpdateColumns 即使不指定该列也会更新; 2019-10-29 09:55:54 +08:00
28810
de8cf9e17d - 增加 .Net Framework 4.0 的支持,出于环境考虑 .Net Framework 4.0 不支持异步方法;
- 增加 IFreeSql.Insert<T>(IEnumerable<T1> source) 方法;
2019-10-21 15:14:18 +08:00
28810
e823f9dcd0 - 增加 FreeSql.DbContext 实体对象的变化事件;
> 文档:https://github.com/2881099/FreeSql/wiki/DbContext#%E5%AE%9E%E4%BD%93%E5%8F%98%E5%8C%96%E4%BA%8B%E4%BB%B6
- 补充 Aop.CurdBefore 事件参数 Table 实体类型的元数据;
2019-10-12 01:02:42 +08:00
28810
6ca226a8e4 - 增加 ColumnAttribute 可插入(CanInsert)、可更新(CanUpdate);#99 2019-09-26 15:45:40 +08:00
28810
fa61d8a3d1 - 移除 FreeSql.Repository 扩展方法 FromRepository;
- 调整 ISelect.AsTable 规则,每一次使用将增加 UNION ALL 查询;
- 优化 AsTable UseSyncStructureToLower/ToUpper 设置,兼容 AsTable((t,o) => "(select * from tb)"); #89
2019-09-10 09:26:08 +08:00
28810
fe4874989c - 修复 AsTable 不受 UseSyncStructureToLower/ToUpper 设置的 bug;#89 2019-09-09 19:02:38 +08:00
28810
baf6d768a4 - 修复 Aop.AuditValue 与 FreeSql.Repository 主键状态管理的冲突; 2019-08-31 03:00:17 +08:00
28810
33612bd8bd - 增加 Aop.AuditValue 事件,在插入/更新数据时审计属性值; 2019-08-25 18:19:31 +08:00
28810
b57d35ae9b - 增加 Aop.AuditValue 事件,在插入/更新数据时审计属性值; 2019-08-25 18:13:02 +08:00
28810
9b80f8cd53 - 优化 IInsert.InsertIdentity 可插入自增属性; 2019-07-29 16:35:36 +08:00
28810
619c57c254 - 修复 Insert/Update 大批量操作分批执行时,如果外部使用了 Ado.Transaction,没有使用线程事务对象,而是创建了新事务的 bug; 2019-07-04 14:13:15 +08:00
28810
b04a4e7266 - 修复 Insert ClearData 重复利用的 bug(使用 IgnoreColumns 进行大批量插入时会发生); 2019-07-03 16:38:29 +08:00
28810
f8c3608fda 源代码改用vs默认格式化 2019-06-27 09:40:35 +08:00
2881099
fe6d632624 修复批量插入/更新大量数据时,未使用NoneParameter,会导致部分未执行的bug; 2019-06-07 18:23:51 +08:00
28810
f8e897e201 拆分 FreeSql 按需引用 2019-05-28 21:32:54 +08:00
28810
b921231cb7 - 补充 IFreeSql 增加与实现 IDisposable 接口(依然要保持单例的使用习惯);
- 增加 CurdBefore、CurdAfter AOP 方法,可监控执行增删查改;
- 增加 SyncStructureBefore、SyncStructureAfter AOP 方法,可监控CodeFirst迁移;
2019-05-06 21:02:15 +08:00
28810
33e992d96b - 增加 OnInserted、OnUpdated、OnDeleted、OnSelected 等 AOP 方法; 2019-05-05 18:17:04 +08:00
28810
24df5d6107 - 增加 Column.MapType 类型映射,可将 enum 映射为 int/string 等; 2019-04-26 06:30:30 +08:00
28810
bada8ad3cc ## 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 延时属性时,并且传递实体查询时条件无效;
2019-04-17 00:52:02 +08:00
28810
a4678ebdc3 补充 IAdo 相关方法 2019-04-10 23:31:34 +08:00
28810
d1a07dc888 - 修复 MySql 枚举表达式 == 解析成数字的 bug;
- 增加 Connection 对象扩展方法,实现像 Dapper 的使用习惯;
2019-04-10 21:19:32 +08:00
28810
df8845e5b1 ## v0.3.27
- 增加 行级锁功能,适用修改实体;
- 增加 FreeSql.Repository 默认依赖注入的方式,同时保留原有 Autofac;
- 优化 FreeSql.Repository Insert 逻辑,参考了 FreeSql.DbContext;
- 优化 FreeSql.IUpdate 参照 IInsert 对大批量更新,拆分执行;
- 修复 FreeSql.IInsert ClearData 重复利用的 bug(使用 IgnoreColumns 进行大批量插入时会发生);
2019-03-29 21:28:43 +08:00
28810
a9e34f852a ## v0.3.24
- 增加 GroupBy 分页方法;
- 修复 Insert 参数化命名 bug,当存在 Id Id2 时发生;
- 优化 Insert/Delete/Update 对象执行完后清理数据,以备多次使用;
2019-03-22 21:54:35 +08:00
28810
a0cebe229e add Examples/orm_vs 2019-03-19 13:35:25 +08:00
28810
2ab59201b0 ## v0.3.16
- 修复 IInsert/IUpdate.NoneParameter() 设成了反作用的 bug;
- 修复 IDbFirst.GetTablesByDatabase() 默认数据库 bool 判断 bug;
- 增加 FreeSql.Repository 之 IUnitOfWork 实现,[查看参数资料](https://github.com/2881099/FreeSql/wiki/%e5%b7%a5%e4%bd%9c%e5%8d%95%e5%85%83);
- 增加 FreeSql.Repository 继承实现的仓储注入;
```csharp
builder.RegisterFreeRepository(
    filter => filter.Apply<Song>("test", a => a.Title == DateTime.Now.ToString() +
        Thread.CurrentThread.ManagedThreadId),
    this.GetType().Assembly
);
```
2019-03-14 16:17:40 +08:00
28810
abb7402b36 - 增加 ISelect.ToDataTable 系列方法;
- 增加 无参数化命令执行,可配置全局 ICodeFirst.IsNoneCommandParameter、或临时 IInsert/IUpdate.NoneParameter() 便于调试;
- 关闭 自动同步结构功能,避免线上环境误操作;
- 优化 IInsert 批量插入容易导致 values 过多、或参数化过多的问题,5个数据库均已优化;
2019-03-14 02:24:15 +08:00
28810
1fa6c9bfc4 - 增加 ISelect.ToDataTable 系列方法;
- 增加 无参数化命令执行,便于调试;
2019-03-13 18:24:54 +08:00
28810
aa2040a629 解决 SqlServer 批量添加参数最多 2100 个参数 2019-03-12 20:01:20 +08:00
28810
4f66c3b9eb ## v0.3.11
- 增加 ISelect、IInsert、IUpdate、IDelete WithTransaction 方法,将事务对象暴露给外部;
- 增加 IAdo ExecuteXxx 系列方法重载,支持事务对象的传入;
2019-03-11 17:26:27 +08:00
28810
90f69f1b57 FreeSql ISelect/IUpdate/IInsert/IDelete 增加 AsTable 方法,实现分表 2019-03-05 21:04:52 +08:00