基本上,表包含大约50列,我必须搜索该特定列并进行更新。
让我们说val == 27然后columnName将是Alarm27和" onOff"值我必须在Alarm27列中设置。
但问题是如何获取此Alarm27并更新它。
这是我到目前为止所尝试过的。
public void UpdateAlarm(int val, bool onOff)
{
string alarmName = "Alarm" + val;
using (ESEntities context = new ESEntities())
{
var alarmid = context.OffShoreAlarms.Where(p => p.StationID == (int)TMStation.LQ).Select(p => p.OSAlarmID).FirstOrDefault();
var alarmMonitor = context.OfSAlarmMonitors.Where(p => p.OSAlarmID == alarmid).Select(p => p).FirstOrDefault();
switch (val)
{
case 1:
alarmMonitor.Alarm1 = onOff;
context.saveChanges();
break;
case 2:
alarmMonitor.Alarm2 = onOff;
context.SaveChanges();
break;
.
.
.
.
case 50:
alarmMonitor.alarm50 = onOff;
context.saveChanges();
break;
}
//TODO: context.SaveChanges(); do update operation..
}
}
答案 0 :(得分:0)
我几乎没有尝试过这个,但我认为这对你有用。
string alarmName = "Alarm" + val;
context.OffShoreAlarms.Property(alarmName).CurrentValue = true;
您可以像这样更改您实体的当前值。 有关详细信息,请查看此Link