599 Commits

Author SHA1 Message Date
28810
27acd4da08 - 完善 ExpressionCall 自定义表达式功能; 2019-11-23 19:07:49 +08:00
28810
70b02c034e - 完善 ExpressionCall 自定义表达式功能; 2019-11-23 19:06:40 +08:00
28810
defab45624 - 完善 ExpressionCall 自定义表达式功能; 2019-11-23 19:02:38 +08:00
28810
5961479f2a - 优化 ExpressionCallContext 可设置、附加参数化对象; 2019-11-23 01:55:30 +08:00
28810
58ba86b5f2 - Lambda 参数化功能的 bug 解决 2019-11-22 23:58:01 +08:00
28810
26d1d961b8 - 禁止 Contains 表达式元素参数化 2019-11-22 23:14:32 +08:00
28810
e9a8ad70a1 - 增加 ICodeFirst.IsGenerateCommandParameterWithLambda 选项,开启表达式解析的命令参数化;
- 增加 ExpressionCallContext 自定义函数上下文档 DbParameter 属性;
- 修复 IncludeMany(a => a.x1.x2.Childs) 当 x1, x2 为 null 的报 null 错误;
2019-11-22 21:55:36 +08:00
28810
12be7f0051 - 调整内部参数化处理逻辑,为以后 Where 条件参数化做准备; 2019-11-22 05:58:17 +08:00
28810
8c5d5ddedc - 增加 UnitOfWork 静态属性 DebugBeingUsed,用于生产环境监视正在使用中的事务; 2019-11-21 21:55:04 +08:00
28810
04107d3d24 - 增加 Repository/DbContext SaveMany 方法实现一对多,子数据的完整保存;
- 调整 SaveManyToMany 方法名为 SaveMany;
2019-11-21 16:42:20 +08:00
28810
152d41025b - 修复 IsNulable 特性不生效的 bug; #137 2019-11-20 18:22:05 +08:00
28810
9f97d67cb2 - 优化 Contains 表达式解析为 where in 自动拆分,防止大于 1000 的 SQL 错误; 2019-11-20 16:06:45 +08:00
28810
d42b2fc2b8 - 增加 ExpressionCallAttribute 特性,实现表达式函数自定义解析; 2019-11-20 13:32:49 +08:00
28810
efdc7c8c5d - 兼容 SqlServer varchar/nvarchar 表达式解析,分别解析为:N'' 和 ''; 2019-11-20 03:34:55 +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
acd406164a Property set method not found #132 2019-11-18 19:12:50 +08:00
28810
1083f371a9 - 增加 IncludeMany 贪婪加载的时候可指定子表的字段,避免查询子表所有字段; 2019-11-18 03:22:34 +08:00
28810
769c1f020c - 修复 Where(a => bool && id > 0) bool 未解析正确的 bug;
> (之前大多数类似的表达都能解析,这次是一个特殊情况)
2019-11-17 21:01:49 +08:00
28810
7c42c67797 - 修复 MapType 属性的表达式解析 数组.Contains 得到是映射之前的值 bug;
- 修复 MapType 属性 与 IncludeMany 变异功能未映射处理的 bug;
2019-11-17 17:14:00 +08:00
28810
6c1d532d09 - 优化 ManyToMany 中间表不需要指明 [Column(IsPrimary = true)] 特性; 2019-11-16 00:10:04 +08:00
28810
17241be66d debug UnitOfWork Destructor #131 2019-11-15 16:36:34 +08:00
28810
7d1f9b126f debug Destructor #131 2019-11-15 13:25:14 +08:00
28810
b5efb387bd - 完善 所有参数化 object parms 可使用 IDictionary 类型传入; 2019-11-13 20:21:49 +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
f2cb3bd5fe - 修复 ISelect .From 方法之前使用 .Include 方法,导致生成的多表 JOIN 位置错误的 bug;#128 2019-11-10 20:53:39 +08:00
28810
08bd86ae40 new 重新属性的反射优化 2019-11-10 19:13:03 +08:00
28810
8a9a50ecb7 - 优化 实体类重写属性 new 如果类型与基类不一致,无法使用的问题; 2019-11-10 12:18:16 +08:00
28810
0c341360b7 - 增加 SqlServer ISelect.WithLock 扩展方法,实现 with(nolock) 查询;
- 增加 SqlServer IFreeSql.SetGlobalSelectWithLock 扩展方法,实现全局设置 with(nock) 查询;
- 移除 Aop.ToList;
- 移除 Aop.Where;
2019-11-06 13:58:19 +08:00
28810
ed2a1e3bd3 - 调整 ToList(a => new Dto { id = 1, title = a.xx.Title}),之前只映射 id、title,现在是先映射 Dto 所有属性,再映射 id、title; 2019-11-04 13:01:52 +08:00
28810
21b4b0d5d3 - 增加 ISelect ToDelete/ToUpdate 方法,实现更复杂的删除/更新操作; 2019-10-30 20:35:42 +08:00
28810
db7fe82403 - 移除 IUpdate/IDelete WhereExists 方法; 2019-10-30 18:00:13 +08:00
28810
97351a4e6e - 优化 Aop.AuditValue 审计过的值,IUpdate.UpdateColumns 即使不指定该列也会更新; 2019-10-29 09:55:54 +08:00
28810
b97156b482 - 增加 IFreeSql.GlobalFilter 全局过滤器;
- 移除 TableAttribute.SelectFilter 功能;
2019-10-24 02:17:22 +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
615023f012 - 修复 postgresql 12 移除 pg_attrdef.adsrc 列,导致 CodeFirst 方法失败的 bug;
- 增加 Aop.ConfigEntity 属性 ModifyIndexResult 现实 IndexAttribute 的设置;
2019-10-14 13:21:47 +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
741c558d91 - 续上优化 Enum 默认值容错 2019-10-09 16:58:33 +08:00
28810
1f2d4abdc7 - 优化 枚举属性的默认值容错,枚举下标不存在 0 的时候,mysql 迁移结构默认值报错; 2019-10-09 16:56:24 +08:00
28810
53d4332bc5 - 增加 List\<T1\> 扩展方法 IncludeMany,实现从已知的内存 List 数据,进行和 ISelect.IncludeMany 相同功能的贪婪加载; 2019-10-07 21:14:18 +08:00
28810
78fded3f8e - 增加 IndexAttribute 特性,自动迁移索引,以及对应的 FluentApi 方法;
- 移除 ColumnAttribute.Unique 属性设置,改为 IndexAttribute 特性设置唯一键;
2019-10-03 04:31:04 +08:00
28810
6ca226a8e4 - 增加 ColumnAttribute 可插入(CanInsert)、可更新(CanUpdate);#99 2019-09-26 15:45:40 +08:00
28810
c747d39db8 - 增加 NavigateAttribute 特性对应的 Fluent 功能;#96 2019-09-26 11:51:50 +08:00
28810
5acf0b9eb4 - 优化 IUpdate.IgnoreColumns/UpdateColumns 可对属性名,或字段名做设置;#95 2019-09-23 21:58:30 +08:00
28810
7c281ce004 - 优化 忽略 List\<T\> 作为 Curd 类型操作; 2019-09-21 23:19:37 +08:00
28810
dcf1da36d4 ## v0.9.18
- 增加 PostgreSQL 的 Odbc 访问提供,相比 FreeSql.Provider.PostgreSQL 支持的类型更少;
- 增加 通用的 Odbc 访问提供,不能迁移实体到数据库,不能 Skip 这样来分页,理论上能 crud 所有 odbc 数据库;
2019-09-21 00:48:34 +08:00
28810
f434418b2c ## v0.9.17 (ODBC)
- 增加 FreeSql.Provider.Odbc,实现 Oracle/SqlServer/MySql 的 Odbc 访问提供;
- 增加 FreeSqlBuilder.UseConnectionString 参数 providerType,可解决因包版本冲突时,可能无法反射获得 FreeSql.Provider 对应的类型,通常这个参数不需要设置;
- 优化 MaxLength 特性,当指定为 -1 时 DbType 会分别映射类型 text/nvarchar(max)/nvarchar2(4000);
2019-09-19 23:14:30 +08:00
28810
62a095df8f v0.9.13
- 增加 FreeSql.Extensions.JsonMap 扩展包,实现快速将对象映射为json字符串的方法;
- 优化 表达式解析未实现的错误提醒,如 $"";
2019-09-13 00:23:52 +08:00
28810
564e1951d8 - 增加 ISelect.ToChunk 实现分块查询数据,减少数据过大时内存占用; 2019-09-10 16:01:01 +08:00
28810
e0a23accb0 v0.9.10 #89 2019-09-10 09:29:12 +08:00