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();

Linq-正在更新动态列

由于只有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;
}