使用linq,你是否为nHibernate要求的每个请求创建一个单独的dbContext(出于性能原因,在我所理解的nhibernate中创建会话是一个昂贵的调用)。
即。在我的asp.net-mvc应用程序中,我可能针对给定的操作,在单独的调用上打了5-10次数据库。我是否需要创建一个上下文并将其重新用于整个请求?
答案 0 :(得分:9)
DataContexts旨在用于与数据库交互的一组操作。我知道,这很模糊。他们的用法是情境性的。如果您正在进行相关或特定的顺序活动,那么一个DataContext可能对您有用。如果您正在进行无关或并行活动,请考虑为每个活动使用DataContext。
考虑一些指导原则:
答案 1 :(得分:-1)
当我使用LinqToSql做一个小应用程序时,我发现当我每次必须打到数据库时都使用了一个create-use-dispose的DatabaseContext对象时应用程序非常缓慢。 当我开始在多个请求中共享DBContext时......应用程序突然恢复了生命周期w.r.t.响应性。
我发布的a question是相关的