我有LazyLoadingEnable = false
和ProxyCreateEnabled=false
的上下文。提交查询时,我明确.Include
我想要什么。问题是即使没有包含导航属性,也会填充一些导航属性。例如:
context.Order.Include(o => o.OrderLines)
OrderLine
具有返回Order
的导航属性,该属性在包含中未请求时填充。
我相信我理解为什么这种情况正在发生,因为给定的订单在上下文中,并且作为关系修复的一部分,它被填充。
根据this answer的内容,似乎禁用更改跟踪应该可以防止这种情况发生。我尝试使用.AsNotTracking()
执行查询并在上下文中设置AutoDetectChangesEnabled = false
,但仍会填充这些未包含的导航属性。
我错过了什么吗?