【发布时间】:2020-08-23 05:35:31
【问题描述】:
要使用 Entity Framework Core 更新 SQL Server 的记录,我查询需要更新的记录,对对象进行更改,然后调用 .SaveChanges()。这很好用而且很干净。
例如:
var emp = _context.Employee.FirstOrDefault(item => item.IdEmployee == Data.IdEmployee);
emp.IdPosition = Data.IdPosition;
await _context.SaveChangesAsync();
但是如果我想更新多条记录,有标准方法吗?
我的第一种方法是使用一个列表将其传递给控制器,但我每次都需要遍历该列表并保存更改,因为我认为它不是最佳选择,所以从未真正完成此选项。
现在我所做的不是将列表传递给控制器,而是使用 for 将每个对象传递给控制器。 (有点像……)
for(int i = 0; i < ObjectList.Count; i ++)
{
/* Some code */
var httpResponseObject = await MyRepositories.Post<Object>(url+"/Controller", Object);
}
然后在控制器上做和以前一样的事情,当只更新一条记录时,为每条记录...
我不认为这是最好的方法,但我还没有找到其他方法。
这样做的最佳方法是什么?
【问题讨论】:
标签: asp.net .net sql-server entity-framework-core blazor