2016-01-20 44 views
1

我想用对象而不是set属性更新我的数据。下面是简单的例子理解我的问题其实我被困在大问题上更新数据使用Object而不是set属性更新LINQ中的数据

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; 
+2

*以下是了解我的问题的简单示例*。你的问题是什么? –

+1

我想问题是,OP不想修改每个属性,而是希望将对象引用设置为新的现有对象。 – Habib

+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实例。

相关问题