gpt4 book ai didi

c# - Entity Framework - 循环然后调用 SaveChanges

转载 作者:行者123 更新时间:2023-11-30 15:20:10 25 4
gpt4 key购买 nike

SaveChanges 会保存债务的所有变化吗?或者只是最后一个,因为它丢失了引用,因为我在每个循环中都更改了元素债务?

List<DTO.ClientDebt> ClientDebtList = Business.Generic.GetAll<DTO.ClientDebt>();

foreach (var oClienteDeuda in oClienteDeudaSyncList) //oClienteDeudaSyncList is a list of debts
{
DTO.ClientDebt debt = ClientDebtList.Where(x => x.ClienteId == oClienteDeuda.ClienteId && x.NumeroComprobante == oClienteDeuda.NumeroComprobante).FirstOrDefault();
debt.Active = oClienteDeuda.Active ? 1 : 0;
}

Data.Generic.SaveChanges();

最佳答案

当我们处理 foreach 循环时,您所做的是正确的方法。您也可以在循环内做同样的事情。但这会降低操作的性能heavy.So always do the SaveChanges() after the foreach loop.SaveChanges() 方法持久化对附加到它的所有实体所做的修改。所以您无需担心引用更改等。它作为工作单元工作。这意味着要么全部保存,要么不保存。

注意: SaveChanges() 在事务中运行。 SaveChanges() 将回滚该事务并在无法保留任何脏 ObjectStateEntry 对象时抛出异常。

关于c# - Entity Framework - 循环然后调用 SaveChanges,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40633243/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com