Linq-正在更新动态列
本文关键字:动态 更新 Linq- | 更新日期: 2023-09-27 18:25:42
我想更新一个动态列。在我的员工表中,我有不同的列,更新哪一列取决于选择,所以它是动态的。
在员工表中,我有5列——Id、姓名、设计、离职、Sal
因此,如果我必须更新设计栏:-
string columnName = "desig"; // This comes as a parameter. This is a dynamic Value. This is just an example.
var data = ctx.tblEmp.Where(e => e.Id == model.Id).Select(e => e).SingleOrDefault();
data.desig = 'NewValue';
ctx.tblEmp.Attach(data);
...
ctx.SaveChanges();
由于只有5个常量列,所以我选择简单的解决方案:
var data = ctx.tblEmp.SingleOrDefault(e => e.Id == model.Id);
switch (columnName)
{
case "Id":
data.id = newValue; //newValue should have a correct type.
break;
case "name":
data.name = newValue;
break;
case "desig":
data.desig = newValue;
break;
case "depart":
data.depart = newValue;
break;
case "Sal":
data.Sal = newValue;
break;
}