EF6更新实际上没有更新表记录?

时间:2016-11-18 21:10:12

标签: entity-framework entity-framework-6

我不得不编写一个有效地将数据从一个databaseA.table复制到databaseB.table的应用程序,但是在databaseB中有一些不在databaseA中的字段。

我在下面提出了基本代码。插入有效,更新不会产生错误,但更新实际上并不更新任何记录。

我已经确认更新中的bcEmployee对象具有来自databaseA的新值。 employee对象是来自databaseA的记录。

我错过了进行此更新的内容吗?

BC_employee bcEmployee = new BC_employee();
bcEmployee.emp_id = employee.emp_id;
bcEmployee.emp_firstname = employee.emp_firstname;
bcEmployee.emp_lastname = employee.emp_lastname;

using (BCcontext ctx = new BCcontext())
{
    var existBCemployee = ctx.employee.Find(employee.emp_id);

    if (existBCemployee == null)        //Insert
    {
        //Set default values that aren't in the original database
        bcEmployee.emp_paystat = null;
        bcEmployee.password = null;
        bcEmployee.enroll_date = null;

        ctx.employee.Add(bcEmployee);
    }
    else
    {
        ctx.Entry(existBCemployee).CurrentValues.SetValues(bcEmployee);
    }

    ctx.SaveChanges();
}

0 个答案:

没有答案