c# - 带有实体框架 dbcontext 的 Singleton 好吗?
问题描述
我的问题太简单了,我有个想法DbContext
是用一个实例来管理一个对象,所以这个想法是使用单例设计模式。
根据您的经验,单例是否适合与实体框架一起使用dbcontext
以确保只dbcontext
使用一个实例?
解决方案
单例是否适合与实体框架 dbcontext 一起使用以确保使用一个 dbcontext 实例?
这不仅是个坏主意,而且行不通。它不是线程安全的,并发使用时会产生异常。并且长期存在的 DbContext 会倾向于在其 Change Tracker 中积累大量对象,从而降低性能并浪费资源。
DbContext 的生命周期从创建实例开始,到释放实例结束。DbContext 实例旨在用于单个工作单元。这意味着 DbContext 实例的生命周期通常很短。
推荐阅读
- spring - 功能区绑定功能区到 ServerIntrospectorConfig
- python - 无法导入 TensorFlow 和 Keras
- python - 如何使用 boto3 从 dynamoDB 中获取最后插入的记录?
- sharepoint - 使用 ADAL 访问令牌创建的 SharePoint ClientContext 的授权问题
- node.js - CentOS,节点找不到模块
- node.js - 是否可以解密多个密钥?
- r - 按类别分组,同时计数、求和和除法 - R
- sql - sql中截断日期的使用
- spring - 从控制器更改弹簧内部化语言
- r - R survift() - IV 的每个级别的单独图