基于依赖注入使用 EF Interceptor
💡
原文中文,约4300字,阅读约需11分钟。
📝
内容提要
本文介绍了如何在 EF Interceptor 中使用依赖注入。通过从依赖注入中获取更新用户的信息,实现了属性的自动更新。通过注册和创建对应的 Interceptor,可以在 DbContext 中使用依赖注入。同时,介绍了 Interceptor 的生命周期和实例化过程。
🎯
关键要点
- 本文介绍了如何在 EF Interceptor 中使用依赖注入。
- 通过依赖注入获取更新用户的信息,实现属性的自动更新。
- 定义了 IUserIdProvider 接口来获取更新用户的信息。
- 提供了一个默认的 UserIdProvider 类,返回固定的用户 ID。
- DIAutoUpdateInterceptor 类实现了 SaveChangesInterceptor,用于在保存更改时自动更新属性。
- 在 DbContext 中使用依赖注入时,需要通过 IServiceProvider 配置重载。
- 注册 Interceptor 时可以选择 Singleton 或 Scoped 生命周期。
- 在同一个 scope 中,Interceptor 实例是相同的,而在不同 scope 中,Interceptor 实例是不同的。
➡️