C# 实体框架数据保存问题

C# 实体框架数据保存问题,c#,.net,entity-framework-4,C#,.net,Entity Framework 4,我在实体框架方面遇到了非常奇怪的问题。 我正在使用实体框架将数据保存到数据库中。当我调用SaveChanges()方法时,数据保存到数据库中,我甚至可以在SQL中看到数据库中的更新。 但当我关闭应用程序并重新打开时,数据库中的数据将丢失,并且它将显示我第一次保存之前的数据。 即使我在应用程序中选择不同的记录并保存,也会发生这种情况,那么以前的记录数据将丢失。 我尝试了所有可能的选择,但没有任何帮助 下面是代码片段。 AxRetailPosDb context=newaxretailposdb(D

我在实体框架方面遇到了非常奇怪的问题。 我正在使用实体框架将数据保存到数据库中。当我调用SaveChanges()方法时,数据保存到数据库中,我甚至可以在SQL中看到数据库中的更新。 但当我关闭应用程序并重新打开时,数据库中的数据将丢失,并且它将显示我第一次保存之前的数据。 即使我在应用程序中选择不同的记录并保存,也会发生这种情况,那么以前的记录数据将丢失。 我尝试了所有可能的选择,但没有任何帮助

下面是代码片段。

AxRetailPosDb context=newaxretailposdb(DbContextHelper.DbContextConnectionString(this.Application.Settings.Database.Connection.ConnectionString));
布尔标志=假;
尝试
{
CUSTTABLE cust=context.CUSTTABLEs.Where(c=>c.ACCOUNTNUM==customer.CustomerId.FirstOrDefault();
DIRPARTYTABLE dirpartytbl=context.DIRPARTYTABLEs.Where(p=>p.RECID==cust.PARTY).FirstOrDefault();
if(cust!=null)
{
cust.IGNDELIVERYCODE=cusEextView.DeliveryCode;
if(cusEextView.Birthday!=null&&cusEextView.Birthday!=Convert.ToDateTime(“01-01-0001”))
{
cust.IGNBIRTHDATE=Convert.ToDateTime(cusEextView.Birthday.ToSortDateString());
}
cust.IGNMODELSCORE=cusEextView.Modelscore;
cust.CREDITMAX=cusEextView.ChargeLimit;
if(cusEextView.Gender!=null)
{
cust.IGNGENDER=(int)Enum.Parse(typeof(Microsoft.Dynamics.Retail.Pos.Customer.WinFormsTouch.frmNewCustomer.Gender),cusEextView.Gender);
}
}
if(dirpartytbl!=null)
{
dirpartytbl.LANGUAGEID=customer.Language;
}
SaveChanges();
}
接住
{
}
最后
{
if(上下文!=null)
{
context.Dispose();
}
}

如果您有任何建议,我们将不胜感激。

为什么不使用for上下文变量,它将负责处理这些问题?例如,此代码在应用程序关闭之前调用?此代码在应用程序关闭之前未调用。因此,在应用程序关闭之前不会保存您所做的任何更改。空的catch块可能正在捕获异常,您没有意识到正在抛出异常。