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

时间:2016-01-20 20:18:34

标签: c# asp.net linq-to-entities

我想用对象而不是set属性更新我的数据。下面是理解我的问题的简单例子我真的陷入了更新数据的大问题

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;

1 个答案:

答案 0 :(得分:0)

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