EF和Linq2Sql中的DataContext可以存在多长时间?

时间:2009-06-30 16:43:09

标签: .net linq-to-sql

我可以存储DataContext很长一段时间吗? Connection有什么用?

2 个答案:

答案 0 :(得分:1)

答案 1 :(得分:1)

数据上下文通常应该是一个短暂的工作单元;否则,身份管理器和更改跟踪(缓存)会出现许多数据增长问题。此外,您将开始获取过时的对象,尤其是当您有多台计算机查看数据库时(例如,Web场)。

就个人而言,我将其限制在内部存储库层,因此数据上下文在实际数据操作期间存在。

连接/事务是另一个考虑可扩展性的问题,但是这比查看旧数据和获得大量并发错误的时间要短。

关于连接; SqlConnection无论如何都使用连接池;因此,单个连接与多个顺序连接(具有相同的连接字符串)存在非常小的差异。他们很可能会使用相同的数据库连接(SPID)。