asp.net – 实体框架ObjectContext重用

前端之家收集整理的这篇文章主要介绍了asp.net – 实体框架ObjectContext重用前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我现在正在学习EF,并且有一个关于ObjectContext的问题:

当我访问数据库时,应该为每个查询(函数)创建ObjectContext的实例吗?

或者最好创建一次(单例)并重新使用它?

在EF之前,我正在使用企业库数据访问块并创建DataAccess函数的数据实例…

解决方法

绝对为每个查询.这是一个轻量级的对象,因此每次需要时都不会产生很多成本.

此外,保持ObjectContext的时间越长,当您针对它运行查询时,它将包含的缓存对象越多.这可能会导致内存问题.因此,将ObjectContext作为单例,是一个特别糟糕的主意.随着您的应用程序被使用,您将在单一ObjectContext中加载越来越多的实体,直到最后将整个数据库存储在内存中(除非您在不再需要时分离实体).

然后有一个可维护性问题.有一天,您尝试追踪一个错误,但无法确定导致数据加载的位置.

猜你在找的asp.Net相关文章