我正在使用实体框架4,我在其中一个基类中为模型创建了一个数据上下文。但是在对其进行分析时,每次尝试查询时都会创建上下文,因此我考虑将其设置为静态,以便仅创建一次并始终重复使用。
您认为这是最好的方法吗?数据/对象上下文应该始终是静态的吗?使其静态有什么缺点吗?数据上下文应该是静态还是非静态的?欢迎任何想法或建议。
您认为这是最好的方法吗?数据/对象上下文应该始终是静态的吗?使其静态有什么缺点吗?数据上下文应该是静态还是非静态的?欢迎任何想法或建议。
不,它们不应该总是静态的。
与非静态等效项相比(比如来自多个线程的多个用户从分离会话访问同一上下文),使用静态数据上下文可能会出现更多问题。
我不会详细解释,因为有一些非常好的博客文章涵盖了详细信息:
Linq to SQL DataContext Lifetime Management - Rick Strahl's Web Log(可能看起来不相关,但仍然是)
Making Entity Framework (v1) work, Part 1: DataContext Lifetime Management(如果您不喜欢Rick的解决方案,则可以考虑此可能替代方案)