diff --git a/DbContext.md b/DbContext.md index dffb5ed..2802a3b 100644 --- a/DbContext.md +++ b/DbContext.md @@ -162,6 +162,36 @@ Guid Id 的情况下,执行三次命令:前两次插入合并执行,update 请移步文档[《联级保存》](https://github.com/2881099/FreeSql/wiki/%e8%81%94%e7%ba%a7%e4%bf%9d%e5%ad%98) +## 实体变化事件 + +全局设置: + +```csharp +fsql.SetDbContextOptions(opt => { + opt.OnEntityChange = changeReport => { + Console.WriteLine(changeReport); + }; +}); +``` + +单独设置 DbContext 或者 UnitOfWork: + +```csharp +var ctx = fsql.CreateDbContext(); +ctx.Options.OnEntityChange = changeReport => { + Console.WriteLine(changeReport); +}; + +var uow = fsql.CreateUnitOfWork(); +uow.OnEntityChange = changeReport => { + Console.WriteLine(changeReport); +}; +``` + +可实现 FreeSql.DbContext 对实体对象的添加、修改、删除的事件通知。参数 changeReport 是一个 List 集合。 + +DbContext.SaveChanges,或者 Repository 对实体的 Insert/Update/Delete,或者 UnitOfWork.Commit 操作都会触发一次该事件。 + ## 参考资料 - [《分区、分表、分库》](https://github.com/2881099/FreeSql/wiki/%e5%88%86%e5%8c%ba%e5%88%86%e8%a1%a8) diff --git a/Repository.md b/Repository.md index e14204d..b4da61b 100644 --- a/Repository.md +++ b/Repository.md @@ -143,6 +143,36 @@ using (var uow = fsql.CreateUnitOfWork()) { 请移步文档[《联级保存》](https://github.com/2881099/FreeSql/wiki/%e8%81%94%e7%ba%a7%e4%bf%9d%e5%ad%98) +## 实体变化事件 + +全局设置: + +```csharp +fsql.SetDbContextOptions(opt => { + opt.OnEntityChange = changeReport => { + Console.WriteLine(changeReport); + }; +}); +``` + +单独设置 DbContext 或者 UnitOfWork: + +```csharp +var ctx = fsql.CreateDbContext(); +ctx.Options.OnEntityChange = changeReport => { + Console.WriteLine(changeReport); +}; + +var uow = fsql.CreateUnitOfWork(); +uow.OnEntityChange = changeReport => { + Console.WriteLine(changeReport); +}; +``` + +可实现 FreeSql.DbContext 对实体对象的添加、修改、删除的事件通知。参数 changeReport 是一个 List 集合。 + +DbContext.SaveChanges,或者 Repository 对实体的 Insert/Update/Delete,或者 UnitOfWork.Commit 操作都会触发一次该事件。 + ## 参考资料 - [《学习FreeSql之一:添加数据》](https://github.com/2881099/FreeSql/wiki/%e6%b7%bb%e5%8a%a0) diff --git a/更新日志.md b/更新日志.md index 8f9c3bc..3b51772 100644 --- a/更新日志.md +++ b/更新日志.md @@ -1,6 +1,12 @@ 完整版本:年数-月-日-当日版本号,FreeSql、FreeSql.Repository、FreeSql.DbContext 版本号相同。 +## v0.10.12 + +- 增加 FreeSql.DbContext 实体对象的变化事件; +> 文档: +- 补充 Aop.CurdBefore 事件参数 Table 实体类型的元数据; + ## v0.10.11 - 优化 枚举属性的默认值容错,枚举下标不存在 0 的时候,mysql 迁移结构默认值报错;