216 Commits

Author SHA1 Message Date
28810
9b80f8cd53 - 优化 IInsert.InsertIdentity 可插入自增属性; 2019-07-29 16:35:36 +08:00
28810
4609c910dd - 优化 IUpdate.Set 表达式传入匿名类更新多个字段; 2019-07-26 14:30:03 +08:00
28810
b37919be80 - 增加 ISelect.WhereCascade 实现多表查询时,向每个表中附加条件;
- 增加 Examples 项目 base_entity,利用 BaseEntity 实现简洁的数据库操作;
2019-07-19 18:35:58 +08:00
28810
250d13c330 完善 Distinct 注释 2019-07-03 09:56:22 +08:00
28810
2a61415f06 - 修复 ISelect.From<T2, T2> 当传入相同的两个实体类型,可能导致内部 Join 无法匹配的 bug;
- 增加 IGroupSelect ToSql(string) 重载方法;
2019-07-02 18:15:43 +08:00
28810
f8c3608fda 源代码改用vs默认格式化 2019-06-27 09:40:35 +08:00
28810
d1bd3170a5 - 优化 IUpdate.Set 支持 Set(a => new { Clicks = a.Clicks + 1, Time = DateTime.Now }) 指定多个字段更新的用法; 2019-06-19 12:07:06 +08:00
28810
16c6fc334b - 增加 ISelect.OrderBy 重载,与 WhereIf 相同行为;
- 修复 Aop.ParseExpression 使用 FreeParse 方法死循环的 bug;
2019-06-06 12:12:43 +08:00
28810
f8e897e201 拆分 FreeSql 按需引用 2019-05-28 21:32:54 +08:00
28810
76baa5b9c0 - 增加 IncludeMany Take(5) 功能,实现每个子集合只取5条记录; 2019-05-17 20:40:06 +08:00
28810
defaa224fb - 增加 变异的 IncludeMany,即使不是导航属性,也可以贪婪加载; 2019-05-14 18:07:27 +08:00
28810
4481064f4e Include 贪婪加载第一版,已通过集合的导航数据加载,包括 OneToMany/ManyToMany 2019-05-11 06:17:09 +08:00
28810
c293a1fb37 - 增加 ToList<Dto>() 方法,作用与 ToList(a => new Dto()) 相同; 2019-05-09 17:02:17 +08:00
28810
e970bd731b 取消 FreeSql.Interface 调整 2019-05-07 22:13:15 +08:00
28810
22a6c3d93e - 调整 命名空间,归纳 FreeSql.Interface; 2019-05-07 20:20:38 +08:00
28810
59b1b7220d - 增加 linq to sql 的查询语法,以及单元测试; 2019-05-07 19:09:19 +08:00
28810
7a625be8c9 替换 pageIndex 为 pageNumber 2019-05-06 23:25:09 +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
f5a292ef45 IFreeSql 增加 IDisposable 2019-04-29 18:22:03 +08:00
28810
d49be984bd 配置 xmlDoc 2019-04-28 15:46:37 +08:00
28810
02ab4949c0 - 优化 ISelect.GroupBy 查询,增加 .Value 实现聚合源字段查询,ToList(a => a.Sum(a.Value.Score));
- 增加 Expression string.Concat;
2019-04-25 12:34:09 +08:00
28810
e2d33e943f - 修复 ISelect.ToList(true) 无效的 bug;
- 增加 IAop.ConfigEntity 配置实体特性,可实现使用其他 ORM 的实体特性,#36;
2019-04-24 15:09:32 +08:00
28810
9dd85f33f9 ## v0.5.3
- 增加 ISelect.ToList(true) 自动贪婪加载 LeftJoin/InnerJoin/RightJoin 导航数据;#35
- 增加 IAdo.Query<T1, T2 ...> 多结果集查询;
- 增加 IAdo.ExecuteDataSet 多结果集查询;
- 优化 未设置实体属性 set 的将被自动过滤 IsIgnore;
2019-04-22 18:34:05 +08:00
28810
1da596db01 - 增加 IAdo.Query<T1, T2 ...> 多结果集查询;
- 增加 IAdo.ExecuteDataSet 多结果集查询;
2019-04-22 12:06:18 +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
0d2191ca85 ## v0.4.16
- 增加 ISelect.AsType 实现弱类型查询,配合 Select<object>().AsType(实体类型);
- 补充 ISelect.From<T2>;
- 补充 ExpressionTree 单元测试;
- 优化 ToList(a => new Dto()),会按优先级查询 Join 实体属性;
2019-04-16 22:48:11 +08:00
28810
9245909d79 补充 开放 IUpdate UpdateColumns 方法功能;
现实更新实体时,只更新指定的列(与 IgnoreColumns 对应);
2019-04-15 17:54:45 +08:00
28810
2714ff360d ## v0.4.13
- 优化 MySql 日期类型精确至毫秒;
- 增加 Distinct 查询前去重数据;
2019-04-12 20:02:58 +08:00
28810
4686d7e0af - 增加 .First()/.FirstAsync() 指定字段查询的重载方法;
- 调整 FreeSql.Repository 直接引用 FreeSql.DbContext 内的仓储实现;
- 补充 单独针对 MySql 枚举类型的单元测试;
2019-04-11 17:34:21 +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
4edfb04010 - 增加 IUpdate.WhereCaseSource 方法,实现批量修改时的条件判断;
- 增加 FreeSql.DbContext 行级锁;
2019-03-29 12:58:58 +08:00
2881099
bf72bf423c ## v0.3.25
- 修复 全局过滤器一个赋值低级错误;
- 增加 IFreeSql<TMark> 空接口,现实多个 IFreeSql 注入使用,使用泛型标识区分;
2019-03-23 02:11:18 +08:00
28810
a9e34f852a ## v0.3.24
- 增加 GroupBy 分页方法;
- 修复 Insert 参数化命名 bug,当存在 Id Id2 时发生;
- 优化 Insert/Delete/Update 对象执行完后清理数据,以备多次使用;
2019-03-22 21:54:35 +08:00
28810
7f3aa84ffe ## v0.3.22
- 优化 导航属性 ManyToOne 名称查找规则;
- 增加 IFreeSql.Aop 属性,未来所有拦截方法都在这里,第一期支持如下:
  * 监控 ToList 返回的的数据,用于拦截重新装饰;
  * 监视 Where,包括 select/update/delete,返回值 true 时可使上层不被执行;
  * 可自定义解析表达式;
- 增加 ISelect.TractToList,用于单次跟踪或审核实体;
- 优化 FreeSql.DbContext SaveChanges;
2019-03-22 00:26:08 +08:00
28810
c20a0bbd54 ## v0.3.21
- 增加 IUpdate IgnoreColumns 重载方法,支持传入字符串数组忽略修改;
- 完善 FreeSql.DbContext,支持对象操作 + SaveChanges 最后保存操作;
2019-03-21 05:24:50 +08:00
28810
a0cebe229e add Examples/orm_vs 2019-03-19 13:35:25 +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
dae8eb7a67 v0.3.12 增加 ICodeFirst.IsConfigEntityFromDbFirst,若无配置实体类主键、自增,可从数据库导入; 2019-03-11 19:00:44 +08:00
28810
4f66c3b9eb ## v0.3.11
- 增加 ISelect、IInsert、IUpdate、IDelete WithTransaction 方法,将事务对象暴露给外部;
- 增加 IAdo ExecuteXxx 系列方法重载,支持事务对象的传入;
2019-03-11 17:26:27 +08:00
28810
428220e754 ## v0.1.13
- 修改 连接池内部 Ping Timeout 值暂定 5秒;
- 优化 初始化时若数据库超时,则放弃预热;
- FreeSql.Repository 下增加 ISelect.FromRepository 扩展方法,实现分表的多表查询;
- 增加 FreeSql.Repository Autofac 泛型注入,可利用实现全局过滤+分表分库;
- 补充 GuidRepository 插入数据时,根据 filter 参数设定进行数据验证;
2019-03-09 02:58:23 +08:00
28810
cd1e6e4a7b - 升级 nuget 依赖包;
- 增加 .netframework 4.6.1 示范项目;
- PostgreSQL 连接池大小默认值改为 50;
- ISelect 增加 Any/AnyAsync(Expression),为的少写一个 Where;
2019-03-07 15:15:42 +08:00
28810
90f69f1b57 FreeSql ISelect/IUpdate/IInsert/IDelete 增加 AsTable 方法,实现分表 2019-03-05 21:04:52 +08:00
28810
30385d2e91 - FreeSql.Repository 增加 filter 参数,现实数据过滤 + 验证;
如:var postRepos = fsql.GetGuidRepository<Post>(a => a.TopicId == 1); postRepos CURD 方法都会以 lambad 条件作为查询或验证,Update/Insert验证错误时会抛出异常。
- ISelect 增加 First/FirstAsync;
2019-03-02 20:46:26 +08:00
28810
f034d4194d v0.1.5
- 增加 IsSyncStructureToUpper 参数,以便适应 Oracle 大小写使用习惯;
- FreeSql.Repository 增加 GuidRepository 类,适用 Insert 方法无须返回插入的数据;
- FreeSql.Repository 增加 IFreeSql 扩展方法 GetRepository、GetGuidRepository;
2019-02-28 17:31:04 +08:00
28810
9d87c69fb2 v0.1.3 2019-02-25 10:12:33 +08:00
28810
fb1871e558 ICodeFirst add GetConfigEntity 2019-02-22 09:16:07 +08:00