context.SaveChanges()在添加时出错

时间:2012-10-07 20:29:14

标签: c# entity-framework entity-framework-5

使用此代码我没有错误

   public static void kirisekle(string kirisadi, int genislik, int derinlik, int uzunluk, int katid)
    {
        Beam newbeam = new Beam { Kirisadi = kirisadi, Genişlik = genislik, Derinlik = derinlik, Uzunluk = uzunluk, KatID = katid };
        using (pehkEntities context = new pehkEntities())
        {

            context.Beams.Add(newbeam);
            context.SaveChanges();
        }
    }

但是,使用此代码时出现“dbupdateexception未处理”错误

public static void dosemeekle(string dosemeadi, int en, int boy, int kalinlik, int katid)
    {
        Slab newslab = new Slab { DosemeAdi = dosemeadi, En = en, Boy = boy, Kalınlık = kalinlik, KatID = katid };
        using (pehkEntities context = new pehkEntities())
        {

            context.Slabs.Add(newslab);
            context.SaveChanges();
        }
    }

我该如何找到导致此错误的原因并进行修复?

我正在使用此代码查看内部异常:

context.Slabs.Add(newslab);
        try
        {
            context.SaveChanges();
        }
        catch( System.Data.Entity.Infrastructure.DbUpdateException ex)
        {
            MessageBox.Show(ex.InnerException.Message);

        }

但是,它显示一个消息框说“更新条目时出错。有关详细信息,请参阅内部异常。”仅

1 个答案:

答案 0 :(得分:8)

尝试在SQL中查看表定义:

  • 是代码中提供的所有非空字段吗?

  • 发生异常时超出字符串长度

  • 您使用的是主键,它已存在于数据库中吗?

如果没有连接问题,这些很可能是异常的原因。我假设第一种方法有效。