Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#LINQ与foreach循环一起,在循环退出后重置值_C#_Entity Framework_Linq_Linq To Sql - Fatal编程技术网

C#LINQ与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

我有这样的代码,但每当我为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();
                    }
                }
            }

InfoModelCustom.Property.Count()
的值是多少?计数是122个属性。是什么让您认为该值重置为默认值?如果您执行SQL跟踪,您是否看到任何更新通过连接传递?Hi@mjwills,当我在循环中时,ConfigReceived.Value设置为ConfigList集合,一旦所有迭代完成,它将到达dbEntities.SaveChanges();然后,我们设置的值将不在那里,取而代之的是集合的默认值。@mjwills问题是在保存到数据库之前,SQL trance在这里没有帮助。