1
1
调用Save(objList)方法时,dbContext是全新的,对列表的更改一无所知。 一种解决方案是遍历所有列表对象,从db读取和更新实体,然后保存更改()。 显然,这是一个非常糟糕的主意。 新添加的项的主键为0。请使用Add或AddRange方法将它们添加到dbset。 我假设JSON文件会刷新覆盖旧文件的所有内容。 在数据库的情况下,您使用的是一个记录,而遍历所有记录是“不必要的”。 上下文工厂很好,但是如果您所做的只是寻找对象、操作对象并保存到dbase,那么可以将dbcontext作为私有字段。只在阅读之前启动它们,但在保存之前保持打开状态。 另一种方法是在数据库上下文上实现IServiceCache。 ef肯定会跟踪对现有记录的修改,您所要做的就是将新的objectc添加到dbset,然后调用saveChanges。
|
Robert King · Unity C#语法问题-转换位置 1 年前 |
JBryanB · 如何从基本抽象类访问类属性 1 年前 |
law · 检查答案按钮的输入字符串格式不正确 2 年前 |
i_sniff_ket · 在unity之外使用unity类 2 年前 |