实体框架数据保存问题

时间:2012-06-01 04:39:18

标签: c# .net entity-framework-4

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

以下是代码段。

AxRetailPosDb context = new AxRetailPosDb(DbContextHelper.DbContextConnectionString(this.Application.Settings.Database.Connection.ConnectionString));
bool flag = false;
try
{
  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.ToShortDateString());
    }
    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;
  }

  context.SaveChanges();
}
catch
{
}
finally
{
  if (context != null)
  {
    context.Dispose();
  }
}

任何建议都将不胜感激。

0 个答案:

没有答案