【发布时间】:2015-07-30 18:34:21
【问题描述】:
我正在编写一个 MVC 5 互联网应用程序,并且对跨不同控制器使用相同的实例化 DbContext 对象有疑问。
我想这样做是因为我在不同的控制器中检索一些相同的数据,并且DbContext 类的内置缓存功能将最大限度地减少许多数据库事务。
这里有一些代码来解释:
public class TestController1 : Controller
{
private CanFindLocationDatabaseContext db = new CanFindLocationDatabaseContext();
}
public class TestController2 : Controller
{
private CanFindLocationDatabaseContext db = new CanFindLocationDatabaseContext();
}
编写此代码的最佳方法是什么,这有什么缺点吗?每个用户应该有自己的 DbContext 对象,还是只为所有用户提供一个?在编码之前我应该注意什么?发生 CRUD 操作时是否会发生潜在冲突?
提前致谢。
【问题讨论】:
标签: c# controller asp.net-mvc-5 entity-framework-6 dbcontext