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 中的变化。
注意:它会让你的实体对象变重。因此,请选择您要跟踪的属性并仅使用它们。
您好,我首先使用的是 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 中的变化。 注意:它会让你的实体对象变重。因此,请选择您要跟踪的属性并仅使用它们。