我不得不编写一个有效地将数据从一个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();
}