上下文:我正在尝试了解 UnitOfWork 模式及其与存储库的关系。
但我有一个与 NpgsqlConnnection 类相关的基本问题。
我的 UnitOfWork 包含一个私有字段成员,它是 NpgsqlConnection :uow_connection。我的存储库有一个构造函数,它以 NpgsqlConnection 作为参数并将其保存在字段成员中。
[1] 这样的设计可以吗?(在所有必需的存储库之间共享 uow_connection )。
由于我的存储库没有实现 IDisposable 并且 NpgsqlConnection 似乎是一个非托管资源,如果垃圾收集器释放我的存储库对象,[3] 连接是否仍然有效?
我担心当前事务所需的所有存储库将共享按值传递的相同 uow_connection。
([2] 是否可以认为如果 IDisposable 被实现,那么它是一个非托管资源或托管资源可以实现 IDisposable 并且仍然是一个托管资源?)
我标记了我的问题,以便参考它们。
感谢大家花时间阅读我的问题。