首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >FluentData IDbContext的生命周期

FluentData IDbContext的生命周期
EN

Stack Overflow用户
提问于 2012-12-04 07:30:48
回答 1查看 574关注 0票数 1

我在我的数据访问层中使用了.NET的FluentData对象模型。然而,这个问题可能适用于大多数ORM。

IDbContext的正常使用寿命是多少?是否应该在每次执行对数据库的新查询时实例化新的数据库上下文?我有以下两个场景,哪一个是正确的用法?请注意,我正在查询MySQL以及MySQL服务器。所以,我想知道其中任何一个对于达到最大连接数是否有任何影响。是的,我是在多线程上调用数据库。这两个场景都是线程安全的吗?

场景A:

我的存储库类实现了IDisposable并保存了一个IDbContext类型的私有变量。这个变量在构造函数中被实例化,并在类被释放时被释放。在存储库中只有一个上下文实例。

场景B:

我的存储库类有一个私有方法,它返回一个新的IDbContext实例。每当另一个方法调用数据库时,它们都会调用此方法来获取新的数据库上下文。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-04-25 08:27:38

来自官方文档:

应该在什么时候处置?

如果已启用UseTransaction或UseSharedConnection,则必须释放

  • DbContext。如果您已启用

(或MultiResultSql),则必须释放UseMultiResult

  • DbCommand。如果已启用UseMultiResult.

,则必须释放

  • StoredProcedureBuilder

在所有其他情况下,dispose将由FluentData自动处理。这意味着数据库连接在执行查询之前打开,在执行完成后关闭。

http://fluentdata.codeplex.com/documentation#Dispose

希望这能帮助到别人。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13693688

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档