[英]Updating records from a List in the database using LINQ
我有一个List<Office>
,其中模型Office
包含以下内容:
int Id
string Name
int doorNumber
int officeType
int areaCode
我需要更新List<Office>
的记录,其中该对象的所有areaCode
元素都将更新为值10
。
List<Office> OfficeList = db.Offices.Where(x => x.officeType == 1).ToListAsync();
listOfRecords = listOfRecords.Select(x => new Office
{
Id = x.Id,
Name = x.Name,
doorNumber= x.doorNumber,
officeType=x.officeType,
areaCode = 10,
}).ToList();
db.Offices.UpdateRange(listOfRecords);
await db.SaveChanges();
我得到的错误是
Message =“无法跟踪实体类型'Office'的实例,因为已经跟踪了另一个具有相同{'Id'}的键值的实例。附加现有实体时,请确保只有一个具有给定键值的实体实例连接。
只需更新列表并保存更改即可:
List<Office> OfficeList = db.Offices.Where(x => x.officeType == 1).ToList();
OfficeList.ForEach(office => office.areaCode = 10);
db.SaveChanges();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.