有没有办法通过EF Core更新多个记录,将单个属性设置为不同记录中的不同值,而不需要首先从数据库中检索所有记录?
我有两个实体:
public class EmployeeDepartment
{
public int Id { get; set; }
public int EmployeeId { get; set; }
public int? ManagerId { get; set; }
public int? DepartmentId { get; set; }
public bool IsCurrent { get; set; }
// Other fields omitted for clarity
}
public class EmployeeManagerCompact
{
public int EmployeeId { get; set; }
public int? ManagerId { get; set; }
}
我想从EmployeeManagerCompact
条记录中更新EmployeeDepartment
条记录中的ManagerId
个字段.
在SQL Server T-SQL中,我会按以下方式使用UPDATE FROM
:
update EmployeeDepartment
set ManagerId = upd.ManagerId
from EmployeeDepartment tgt
join EmployeeManagerCompact upd on tgt.EmployeeId = upd.EmployeeId
where tgt.IsCurrent = 1;
有没有可能在EF Core中执行类似的操作,而无需首先从数据库中检索所有EmployeeDepartment
条记录?