目前似乎很流行,如果您简单地实现存储库

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/

10-15 08:12