是否可以更新提取的数据

时间:2015-11-19 12:18:35

标签: c# entity-framework entity-framework-6

我编写了一些代码,这些代码从数据库获取记录,处理它们,如果出现问题,则会在数据库中写入错误消息。 在代码的最后,我从数据库中删除所有记录,其中错误字段(在数据库中)为空。

            var logs = ctx.Logs.Where(record => String.IsNullOrEmpty(record.Error))
                        .Where(record => !Beingprocessed.Contains(record))
                        .Take(100)
                        .ToArray();

提取/处理/删除是在多个线程中同时完成的,因此在此代码运行时,数据库中的另一个线程可以删除记录。是否有可能只使用数据库中的值更新logs

这样的东西
logs.Update();
ctx.Logs.RemoveRange(logs.Where(l => l.Error == null));
ctx.SaveChanges();

(我知道我可以使用来自logs等的ID来再次获取它们,但我想知道是否存在更新从数据库中获取的实体的任何内容。)

1 个答案:

答案 0 :(得分:1)

也许这会有所帮助:

ctx.Entry(Logs).Reload();