EF changeTracker 没有给出正确的值

EF changeTracker not giving Proper value

您好,我首先使用的是 EF5 数据库。并使用 Change Tracker 来跟踪 Modified 元素。我的要求之一是: A行 B行 如果我更改 RowB 的值 "RowB should be disable and RowC should be created".[WorkingFine]

                var rowC = CreateEntityObjectBySelectedTableName(selectedDataTable);
                rowC.IsActiveRecord = true;
                context.Context.XYZTypes.Add(rowC);
                context.Context.Entry(rowC).State = EntityState.Added;
                changedEntity.CurrentValues.SetValues(changedEntity.OriginalValues);//for RowB business Req
                rowB.IsActiveRecord = false;//To disable RowB business Req

问题:现在,如果我更改 RowC,更改跟踪器仍将 RowB 作为修改状态提供给我,而不是 RowC。提前致谢!! 上面的代码片段在第一次迭代中运行良好。但稍后再试一次我的 DBContext 有 rowB 作为修改而不是 RowC。

用户 EF 对象更改跟踪器。 Entity Framework中有连接和断开两种方式。而 ObjectChangeTracker 会跟踪你在 Entities 中的变化。 注意:它会让你的实体对象变重。因此,请选择您要跟踪的属性并仅使用它们。