打开太多的datacontexts坏了吗?

时间:2010-05-17 23:50:47

标签: asp.net performance linq-to-sql optimization

我一直用linq 2 sql profiler检查我的应用程序,我注意到它打开了很多datacontexts,其中大部分是由我使用的linq数据源打开的,因为我的存储库只使用存储在Request中的实例。项目,打开太多的datacontext是不是很糟糕?以及如何让我的linqdatasource在请求期间使用我存储在Request.Items中的datacontext?谢谢你的帮助!

2 个答案:

答案 0 :(得分:1)

DataContexts的使用寿命很短。打开其中许多并不一定是件坏事。一个好的经验法则是每个“工作单元”都应该有自己的DataContext。

有关详细信息,请参阅此article

  

最好在较短的一生中犯错误

答案 1 :(得分:0)

如果你打开和关闭它们,绝对不会。

但是如果你在TransactionScope中,游戏就会改变!打开和关闭许多嵌套的DataContexts让我们很难,因为它导致我们的事务促进了分布式事务,这大大减慢了我们的系统,严重削弱了我们系统的可扩展性。