C# 系统关闭时,是否有方法为所有操作调用SaveChanges()?
系统关闭时,是否有方法调用所有实体的SaveChanges 我使用的是EF6和MVVM模式,我想关闭所有操作并将其保存到数据库中 我尝试了C# 系统关闭时,是否有方法为所有操作调用SaveChanges()?,c#,entity-framework,mvvm,C#,Entity Framework,Mvvm,系统关闭时,是否有方法调用所有实体的SaveChanges 我使用的是EF6和MVVM模式,我想关闭所有操作并将其保存到数据库中 我尝试了sessionedreasons.SystemShutdown,但是我需要调用所有的保存方法。EF是否提供了某种解决方案来立即保存所有内容 谢谢我不知道EF提供的功能,但您可以尝试以下方法: public class foo { static void Main(string[] args) { // add the exit
sessionedreasons.SystemShutdown
,但是我需要调用所有的保存方法。EF是否提供了某种解决方案来立即保存所有内容
谢谢我不知道EF提供的功能,但您可以尝试以下方法:
public class foo
{
static void Main(string[] args)
{
// add the exit handler
AppDomain.CurrentDomain.ProcessExit += new EventHandler (OnProcessExit);
// your code
}
// will be called on exit
static void OnProcessExit (object sender, EventArgs e)
{
// save your data
myEntity.SaveChanges();
}
}
但是如果用户终止进程,它将不会被调用。我不知道EF提供的函数,但您可以尝试以下方法:
public class foo
{
static void Main(string[] args)
{
// add the exit handler
AppDomain.CurrentDomain.ProcessExit += new EventHandler (OnProcessExit);
// your code
}
// will be called on exit
static void OnProcessExit (object sender, EventArgs e)
{
// save your data
myEntity.SaveChanges();
}
}
但是它不会被调用,如果用户终止进程,您可以保存对applicationExit事件的更改: 在您的程序中:
Application.ApplicationExit += new EventHandler(this.OnApplicationExit);
private void OnApplicationExit(object sender, EventArgs e) {
myContext.SaveChanges();
}
您可以保存对applicationExit事件的更改: 在您的程序中:
Application.ApplicationExit += new EventHandler(this.OnApplicationExit);
private void OnApplicationExit(object sender, EventArgs e) {
myContext.SaveChanges();
}
EF的设计目的不是长寿命。所以我不明白有什么必要。我的应用程序中的保存过程分为两部分。首先,员工必须运行计时器-该计时器保存第一部分数据,当他完成时,他停止计时器,该计时器将保存他所做的事情,直到计时器停止。有时,需要关闭计算机,我不信任别人,所以我想在系统关闭之前保存他所做的一切(以防他“忘记”):)谢谢。EF不是设计为长寿的。所以我不明白有什么必要。我的应用程序中的保存过程分为两部分。首先,员工必须运行计时器-该计时器保存第一部分数据,当他完成时,他停止计时器,该计时器将保存他所做的事情,直到计时器停止。有时,需要关闭计算机,我不信任别人,所以我想在系统关闭之前保存他所做的一切(以防他“忘记”):)谢谢。