使用对象而不是设置属性更新 LINQ 中的数据

Update data in LINQ with Object instead of set properties

我想用对象而不是设置属性来更新我的数据。下面是理解我的问题的简单示例,我真的遇到了更新数据的大问题

Employee emp_old = new Employee();
emp_old.ID = 1 ;
emp_old.Name = "Muzammil";

Employee emp_new = new Employee();
emp_new.ID = 1 ;
emp_new.Name = "Ahmed";

Employee temp = db.Employees.single(emp => emp.ID == emp_old.ID);
temp = emp_new;

您似乎在寻找 CurrentValues.SetValues():

Employee emp_new = new Employee();
emp_new.ID = 1 ;
emp_new.Name = "Ahmed";

Employee temp = db.Employees.Find(1);
db.Entry(temp).CurrentValues.SetValues(emp_new);

此方法会覆盖目标对象和源对象共有的属性(按名称和类型)。请注意 emp_new 甚至不必是 Employee 实例。