【发布时间】:2014-06-25 08:18:14
【问题描述】:
我正在我的控制器中初始化 dbContext,如下所示:
public class BaseController : Controller
{
protected KContext db;
public BaseController()
{
db = new KContext();
}
}
我在我的控制器中执行通常的添加、编辑、删除操作,我还有一个名为 serviceChecker 的类,它继承了注册表(来自 FluentScheduler),我还在那里初始化了另一个 dbcontext,如下所示:
public class ServiceChecker : Registry
{
KContext db;
public ServiceChecker()
{
db = new KContext();
}
}
我检查了此类中的一些表并编辑了一些实体,这些实体也从我的控制器中更新。现在我面临的问题是,在我更改实体后,我们将其称为 serviceDoman 的字段 endDate 从 7/11/2014 到 7/11/2016,它可以很好地更新实体但是当 servicechecker 触发检查功能时(每 60 sec),它必须更新该实体的另一个字段,这很好,但它也将endDate 更改回7/11/2014(第一次编辑之前的旧值),可能是什么原因?
【问题讨论】:
-
你为什么不为每个请求使用一个
DbContext? -
在我的控制器或 servicechecker 类中?因为在控制器中它工作正常问题发生在我的 servicechecker 类中
-
你为什么不在两个请求中都使用一个
DbContext? -
我对 mvc 概念很陌生,请您指出关于每个请求一个 DbContext 的正确方向吗?可能是我的问题的原因?
-
@qujck 感谢您的链接,我现在明白了,尽管我设法以某种方式解决了问题,但我应该将该链接提供给实现此功能的人:)
标签: c# entity-framework asp.net-mvc-3 asp.net-mvc-4 dbcontext