Orm FluentData IDbContext的生命周期
我正在数据访问层中使用FluentData ORM for.NET。然而,这个问题可能适用于大多数ORM 环境的适当寿命是多少?是否应该在每次执行对数据库的新查询时实例化新的数据库上下文?下面我有两个场景,哪一个是正确的用法?请注意,我正在查询MS SQL和MySQL服务器。因此,我想知道,就达到最大连接而言,两者是否有任何影响。是的,我正在多线程上调用数据库。这两种方案都是线程安全的吗 情景A: MyRepository类实现IDisposable并保存IDbContext类型的私有变量。此变量在构造函数中实例化,并在释放类时释放。存储库中只有一个上下文实例 情景B:Orm FluentData IDbContext的生命周期,orm,fluentdata,Orm,Fluentdata,我正在数据访问层中使用FluentData ORM for.NET。然而,这个问题可能适用于大多数ORM 环境的适当寿命是多少?是否应该在每次执行对数据库的新查询时实例化新的数据库上下文?下面我有两个场景,哪一个是正确的用法?请注意,我正在查询MS SQL和MySQL服务器。因此,我想知道,就达到最大连接而言,两者是否有任何影响。是的,我正在多线程上调用数据库。这两种方案都是线程安全的吗 情景A: MyRepository类实现IDisposable并保存IDbContext类型的私有变量。此变
我的存储库类有一个私有方法,该方法返回IDbContext的新实例。每当其他方法调用数据库时,它们都会调用此方法以获取新的数据库上下文。来自官方文档:
您应该在何时处置?
- 如果启用了UseTransaction或 使用共享连接李>
- 如果启用了UseMultiResult(或MultiResultSql),则必须释放DbCommand李>
- 如果启用了UseMultiResult,则必须释放StoredProcedureBuilder
希望它能帮助别人。来自官方文档:
您应该在何时处置?
- 如果启用了UseTransaction或 使用共享连接李>
- 如果启用了UseMultiResult(或MultiResultSql),则必须释放DbCommand李>
- 如果启用了UseMultiResult,则必须释放StoredProcedureBuilder
希望它能帮助别人