mirror of
https://github.com/dotnetcore/FreeSql.git
synced 2026-02-07 00:40:55 +08:00
update
9
更新日志.md
9
更新日志.md
@@ -1,6 +1,15 @@
|
||||
|
||||
完整版本:年数-月-日-当日版本号,FreeSql、FreeSql.Repository、FreeSql.DbContext 版本号相同。
|
||||
|
||||
## v0.3.22
|
||||
|
||||
- 优化 导航属性 ManyToOne 名称查找规则;
|
||||
- 增加 IFreeSql.Aop 属性,未来所有拦截方法都在这里,第一期支持如下:
|
||||
* 监控 ToList 返回的的数据,用于拦截重新装饰;
|
||||
* 监视 Where,包括 select/update/delete,返回值 true 时可使上层不被执行;
|
||||
* 可自定义解析表达式;
|
||||
- 增加 ISelect.TractToList,用于单次跟踪或审核实体;
|
||||
|
||||
## v0.3.21
|
||||
|
||||
- 增加 IUpdate IgnoreColumns 重载方法,支持传入字符串数组忽略修改;
|
||||
|
||||
34
表达式函数.md
34
表达式函数.md
@@ -43,6 +43,40 @@ var t3 = select.OrderBy(a => Guid.NewGuid()).Limit(1).ToSql();
|
||||
//ORDER BY newid()
|
||||
```
|
||||
|
||||
## AOP拦截实现自定义解析
|
||||
|
||||
IFreeSql 对象有 Aop 成员,那里提供一堆 AOP 拦截的方法。其实有一个事件名称:ParseExpression。
|
||||
|
||||
```csharp
|
||||
/// <summary>
|
||||
/// 可自定义解析表达式
|
||||
/// </summary>
|
||||
EventHandler<AopParseExpressionEventArgs> ParseExpression { get; set; }
|
||||
|
||||
public class AopParseExpressionEventArgs : EventArgs {
|
||||
public AopParseExpressionEventArgs(Expression expression, Func<Expression, string> freeParse) {
|
||||
this.Expression = expression;
|
||||
this.FreeParse = freeParse;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 内置解析功能,可辅助您进行解析
|
||||
/// </summary>
|
||||
public Func<Expression, string> FreeParse { get; }
|
||||
|
||||
/// <summary>
|
||||
/// 需要您解析的表达式
|
||||
/// </summary>
|
||||
public Expression Expression { get; }
|
||||
/// <summary>
|
||||
/// 解析后的内容
|
||||
/// </summary>
|
||||
public string Result { get; set; }
|
||||
}
|
||||
```
|
||||
|
||||
FreeParse 是提供给外部的解析工具,它拥有 FreeSql 所有表达式功能,当您自定义解析的过程中遇到特别难处理的,可通过它快速解析出表达式的子部分内容。
|
||||
|
||||
## 表达式函数全览
|
||||
|
||||
| 表达式 | MySql | SqlServer | PostgreSQL | Oracle | 功能说明 |
|
||||
|
||||
Reference in New Issue
Block a user