繁体   English   中英

EF Core子实体自动添加到父级

[英]EF Core child entities automatically added to parent

我对EF Core中的某些(对我而言)奇怪的行为有疑问:

以下面的代码为例:

efOrder = _context.Orders.ActiveOnly().FirstOrDefault(ord => ord.Id == id); //ActiveOnly() filters out my soft deleted orders
//No orderlines here
_context.Set<OrderLine>().RemoveRange(_context.OrderLine.ActiveOnly().Where(ol => ol.OrderId == efOrder.Id));
//sudden orderlines on efOrder here

当我没有将efOrder添加到efOrder时,为什么我的efOrder现在突然有了OrderLines 因为这偶尔会导致严重的关联错误,如何防止这种行为?

解决方案是在不跟踪查询的情况下运行查询。

efOrder = _context.Orders.ActiveOnly().FirstOrDefault(ord => ord.Id == id); 
//ActiveOnly() filters out my soft deleted orders
//No orderlines here
_context.Set<OrderLine>().RemoveRange(_context.OrderLine.AsNoTracking().ActiveOnly().Where(ol => ol.OrderId == efOrder.Id));
//Orderlines are not added

谢谢您的帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM