entity-framework - C# EF 不使用 ForEach 保存多条记录
问题描述
美好的一天,伙计们,
我正在尝试保存多条记录。
我已经完成了我的研究,但它们都没有真正对我有用。
这是我的代码:
var dataToUpdate = context.Employees.ToList();
using(var db = context){
var department= "IT";
dataToUpdate.ForEach(x=>{
x.department = department;
});
db.SaveChanges()
}
来源:EF - 在不使用 foreach 循环的情况下更新数据库中的多行,但它不起作用。
我试图放置断点并尝试捕捉,我的断点db.SaveChanges
没有错误。但是当我检查数据库中的数据时,没有发生任何变化。
解决方案
看着!您正在从两个不同的上下文中提取和更新数据。实际上它应该来自以下相同的上下文:
using(var db = context)
{
var dataToUpdate = db.Employees.ToList();
var department= "IT";
dataToUpdate.ForEach(x=>{
x.department = department;
});
db.SaveChanges();
}
现在它应该可以工作了。
推荐阅读
- docker - 运行 Docker for Windows 和 Minikube 是否需要两个物理网络适配器?
- javascript - 两位小数的利润计算Javascript
- pyspark - 获取pyspark数组类型列的最后n个元素
- c# - 如何淡入/淡出文本网格?不工作
- dom - MediaWiki 模板产生非常混乱的输出
- javascript - 仅当值不存在时才向对象添加新数组条目
- javascript - 在执行下一行之前等待循环完成
- websocket - 接收连接和消息请求并发出消息和连接状态更新的 Websocket 史诗
- go - protoc-gen-go:程序未找到或不可执行
- r - 如何查找和求和两列的重复值?