yog*_*ing 0 entity-framework entity-framework-core asp.net-core
这里使用Entity Framework Core的方法UpdateRange来更新多条记录但是不起作用。
我的代码是:
var dept1 = new Department()
{
Id = 8,
Name = "New Designing"
};
var dept2 = new Department()
{
Id = 9,
Name = "New Research"
};
var dept3 = new Department()
{
Id = 102,
Name = "New HR"
};
List<Department> modifiedDept = new List<Department>() { dept1, dept2, dept3 };
using (var context = new CompanyContext())
{
context.UpdateRange(modifiedDept);
await context.SaveChangesAsync();
}
Run Code Online (Sandbox Code Playgroud)
我得到的错误是:
Microsoft.EntityFrameworkCore.DbUpdateConcurrencyException:“数据库操作预计会影响 1 行,但实际上影响了 0 行。自加载实体以来,数据可能已被修改或删除。有关理解和处理乐观并发异常的信息,请参阅http://go.microsoft.com/fwlink/?LinkId=527962 。
这种情况应该怎么办?
您应该从数据库获取数据并修改数据。不创建新类。
using (var context = new JobContext())
{
var depts = context.Department.Where(x => x.Id > 1).AsQueryable();
depts.Where(x => x.Id == 2).FirstOrDefault().Name = "New Designing";
depts.Where(x => x.Id == 3).FirstOrDefault().Name = "New Research";
depts.Where(x => x.Id == 4).FirstOrDefault().Name = "New HR";
context.UpdateRange(depts);
context.SaveChanges();
}
Run Code Online (Sandbox Code Playgroud)
前
后
| 归档时间: |
|
| 查看次数: |
17865 次 |
| 最近记录: |