У меня есть такой код, но всякий раз, когда я устанавливаю значение в ConfigList, значение сбрасывается на значение по умолчанию после выхода из цикла foreach.
using (var dbEntities = new DBEntities())
{
using (var dbContextTransaction = dbEntities.Database.BeginTransaction())
{
try
{
var ConfigList = dbEntities.Configs.Where(y => y.DeviceId == deviceId).ToList();
if (ConfigList.Any())
{
foreach (InfoModel ConfigReceived in InfoModelCustom.Property)
{
ConfigList.Where(x => x.Id == ConfigReceived.Id
&& x.PropertyId == ConfigReceived.PropertyId
&& x.GroupId == ConfigReceived.GroupId
&& x.TypeId == ConfigReceived.TypeId).FirstOrDefault().Value = ConfigReceived.Value;
}
}
dbEntities.SaveChanges();
dbContextTransaction.Commit();
}
catch (Exception ex)
{
dbContextTransaction.Rollback();
}
}
}