mirror of
https://github.com/dotnetcore/FreeSql.git
synced 2026-02-04 23:40:53 +08:00
update
18
AOP.md
18
AOP.md
@@ -21,6 +21,24 @@ fsql.Aop.CurdAfter = (s, e) => {
|
|||||||
|
|
||||||
除了 CurdAfter,还有一个 CurdBefore (在执行 sql 之前触发)。
|
除了 CurdAfter,还有一个 CurdBefore (在执行 sql 之前触发)。
|
||||||
|
|
||||||
|
## 审计属性值
|
||||||
|
|
||||||
|
实现插入/更新时统一处理某些值,比如某属性的雪花算法值、创建时间值、甚至是业务值。
|
||||||
|
|
||||||
|
```csharp
|
||||||
|
fsql.Aop.AuditValue += (s, e) => {
|
||||||
|
if (e.Column.CsType == typeof(long)
|
||||||
|
&& e.Property.GetCustomAttribute<SnowflakeAttribute>(false) != null
|
||||||
|
&& e.Value?.ToString() == 0)
|
||||||
|
e.Value = new Snowflake().GetId();
|
||||||
|
};
|
||||||
|
```
|
||||||
|
> 当属性的类型是 long,并且标记了 [Snowflake],并且当前值是 0,那么在插入/更新时它的值将设置为雪花id值。
|
||||||
|
|
||||||
|
> 说明:SnowflakeAttribute 是使用者您来定义,new Snowflake().GetId() 也是由使用者您来实现
|
||||||
|
|
||||||
|
如果命名规范,可以在 aop 里判断,if (e.Property.Name == "createtime") e.Value = DateTime.Now;
|
||||||
|
|
||||||
## 审计迁移脚本
|
## 审计迁移脚本
|
||||||
|
|
||||||
FreeSql 自带迁移功能,那么迁移的 SQL 语句长啥样,你可能会好奇。
|
FreeSql 自带迁移功能,那么迁移的 SQL 语句长啥样,你可能会好奇。
|
||||||
|
|||||||
4
更新日志.md
4
更新日志.md
@@ -1,6 +1,10 @@
|
|||||||
|
|
||||||
完整版本:年数-月-日-当日版本号,FreeSql、FreeSql.Repository、FreeSql.DbContext 版本号相同。
|
完整版本:年数-月-日-当日版本号,FreeSql、FreeSql.Repository、FreeSql.DbContext 版本号相同。
|
||||||
|
|
||||||
|
## v0.8.11
|
||||||
|
|
||||||
|
- 增加 Aop.AuditValue 事件,在插入/更新数据时审计属性值,[wiki](https://github.com/2881099/FreeSql/wiki/AOP);
|
||||||
|
|
||||||
## v0.8.10
|
## v0.8.10
|
||||||
|
|
||||||
- 修复 Pgsql 批量更新使用 NoneParameter 后日期类型的语法 bug;
|
- 修复 Pgsql 批量更新使用 NoneParameter 后日期类型的语法 bug;
|
||||||
|
|||||||
Reference in New Issue
Block a user