我一直用linq 2 sql profiler检查我的应用程序,我注意到它打开了很多datacontexts,其中大部分是由我使用的linq数据源打开的,因为我的存储库只使用存储在Request中的实例。项目,打开太多的datacontext是不是很糟糕?以及如何让我的linqdatasource在请求期间使用我存储在Request.Items中的datacontext?谢谢你的帮助!
答案 0 :(得分:1)
DataContexts的使用寿命很短。打开其中许多并不一定是件坏事。一个好的经验法则是每个“工作单元”都应该有自己的DataContext。
有关详细信息,请参阅此article。
最好在较短的一生中犯错误
答案 1 :(得分:0)
如果你打开和关闭它们,绝对不会。
但是如果你在TransactionScope中,游戏就会改变!打开和关闭许多嵌套的DataContexts让我们很难,因为它导致我们的事务促进了分布式事务,这大大减慢了我们的系统,严重削弱了我们系统的可扩展性。