C# 调用包含变量的数据库表头

C# 调用包含变量的数据库表头,c#,database,linq,asp.net-mvc-4,C#,Database,Linq,Asp.net Mvc 4,我有这个页面,我更新了用户在文本字段中写的内容;然后将文本字段值发送到数据库 但是,变量名称非常相似: [HttpPost] 公共操作结果跟踪(MPB机器记录、字符串命令) { 装载板(); var currentMachine=db.MPBs.FirstOrDefault(m=>m.Machine==machinereRecord.Machine); 如果(命令==“更新记录”) { currentMachine.Board=机器记录.Board; currentMachine.Machine

我有这个页面,我更新了用户在文本字段中写的内容;然后将文本字段值发送到数据库

但是,变量名称非常相似:

[HttpPost]
公共操作结果跟踪(MPB机器记录、字符串命令)
{
装载板();
var currentMachine=db.MPBs.FirstOrDefault(m=>m.Machine==machinereRecord.Machine);
如果(命令==“更新记录”)
{
currentMachine.Board=机器记录.Board;
currentMachine.MachineStatus=machineRecord.MachineStatus;
currentMachine.Hour1\u目标=机器记录.Hour1\u目标;
currentMachine.Hour1\u实际值=machineRecord.Hour1\u实际值;
currentMachine.Hour1\u废料=MachinerRecord.Hour1\u废料;
currentMachine.Hour1\u停机时间=Machine Record.Hour1\u停机时间;
currentMachine.Hour1\u返工=MachinerRecord.Hour1\u返工;
currentMachine.Hour1\u Comments=机器记录.Hour1\u Comments;
currentMachine.Hour2\u目标=machineRecord.Hour2\u目标;
currentMachine.Hour2\u实际值=machineRecord.Hour2\u实际值;
currentMachine.Hour2\u废料=Machine Record.Hour2\u废料;
currentMachine.Hour2\u停机时间=Machine Record.Hour2\u停机时间;
currentMachine.Hour2\u返工=MachinerRecord.Hour2\u返工;
currentMachine.Hour2\u Comments=machinererecord.Hour2\u Comments;
...
}
...
}

这个过程持续了8个小时,数据库是事先建立的,我无法改变它的结构。但正如您所看到的,每个
currentMachine.HourX
machineRecord.HourX
是否有一种方法可以用一个变量替换X,这样我就可以执行for循环来更新数据库中的所有字段?

查看AutoMapper:我认为这会很好地解决您的问题。如果您使用的是实体框架,您可以使用SqlQuery:entity.TableName.SqlQuery(string.Format(“updatempbs SET Hour{0}\u Goal={1},其中ID={2}”,1,2,3));