我在我的控制器中初始化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();
}
}
我检查了这个类中的一些表,并编辑了一些也从我的控制器更新的实体。现在我遇到的问题是,在我更改实体后,让我们将{00}} endDate
从7/11/2014
称为7/11/2016
字段servicechecker
实体很好但是当endDate
触发检查功能(每60秒)时,它必须更新该实体的另一个字段,该字段发生正常但它也将7/11/2014
更改回{{1}} (第一次编辑前的旧值),可能是什么原因?
答案 0 :(得分:0)
更新实体后获取旧值的可能原因是您没有调用SaveChanges()
方法来保存实体更改,而您正在ServiceChecker
类中创建一个新的上下文对象,它没有任何想法关于您使用先前(另一个)上下文对象在实体中所做的更改。
在实体中进行更改后,您可以调用SaveChanges()
方法。
注意:使用公共上下文对象执行所有操作是一种很好的做法