目前似乎很流行,如果您简单地实现存储库
IQueryable<T> FetchAll<T>();
使用 LINQ to SQL,那么存储库必须设置一个在存储库外部仍然可用的 DataContext。
所以我的问题是,DataContext 是如何被处置的?
如果异常是由存储库外部的代码生成的怎么办?
它会泄漏数据库连接吗?
谢谢
最佳答案
Why you dont need to call dispose on DataContext
总结 DataContext 在调用查询时(当您访问数据时)打开一个连接,并在查询结束时关闭它。
关于linq-to-sql - 当暴露 IQueryable 时,DataContext 何时被处置?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1375822/