EF Include() with AsNoTracking



>我有这个linq查询:

database.EmployeeHistory.AsNoTracking()
.Include("Employee.Orders")
.Include("Employee.Books").AsNoTracking()

除了保存我为 Employee.Orders 所做的更改不起作用之外,这有效。这是否意味着即使我没有为员工添加 AsNoTracking.Orders,它也不会被跟踪?

AsNoTracking 意味着您对实体所做的任何更改都不会被更改跟踪器跟踪,并且在您调用 SaveChanges(( 时不会被拾取。

AsNoTracking(( 适用于只读方案。在这种情况下,上下文不会跟踪您的实体,并且应该有助于内存使用和性能。

在您的情况下,请删除 AsNoTracking(( 并尝试再次保存。

最新更新