C#LINQ与foreach循环一起,在循环退出后重置值
我有这样的代码,但每当我为ConfigList设置一个值时,一旦foreach循环退出,该值就会重置为默认值C#LINQ与foreach循环一起,在循环退出后重置值,c#,entity-framework,linq,linq-to-sql,C#,Entity Framework,Linq,Linq To Sql,我有这样的代码,但每当我为ConfigList设置一个值时,一旦foreach循环退出,该值就会重置为默认值 using (var dbEntities = new DBEntities()) { using (var dbContextTransaction = dbEntities.Database.BeginTransaction()) { try
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();
}
}
}
InfoModelCustom.Property.Count()
的值是多少?计数是122个属性。是什么让您认为该值重置为默认值?如果您执行SQL跟踪,您是否看到任何更新通过连接传递?Hi@mjwills,当我在循环中时,ConfigReceived.Value设置为ConfigList集合,一旦所有迭代完成,它将到达dbEntities.SaveChanges();然后,我们设置的值将不在那里,取而代之的是集合的默认值。@mjwills问题是在保存到数据库之前,SQL trance在这里没有帮助。