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

本文关键字:LINQ 更新 数据 属性 设置 Object 使用 | 更新日期: 2023-09-27 18:31:09

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

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;

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

看起来你正在寻找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实例。