Я использую этот код для отмены изменений в контексте.У меня вопрос, как я могу отменить все изменения, кроме одного определенного типа, где я хочу сохранить одно значение столбца как измененное.
public void RollBack()
{
var context = DataContextFactory.GetDataContext();
var changedEntries = context.ChangeTracker.Entries()
.Where(x => x.State != EntityState.Unchanged).ToList();
foreach (var entry in changedEntries)
{
switch(entry.State)
{
case EntityState.Modified:
entry.CurrentValues.SetValues(entry.OriginalValues);
entry.State = EntityState.Unchanged;
break;
case EntityState.Added:
entry.State = EntityState.Detached;
break;
case EntityState.Deleted:
entry.State = EntityState.Unchanged;
break;
}
}
}
Если у меня есть, например, объекты типа Student
, School
и т. д., и я делаю изменения в различных сущностях и изменяю свойство с именем Status
на Student
, и я хочу отменить все сделанные изменения, за исключением того, что я хочу сохранить / сохранить в базе данных значение Status
сущности Student
как я могу это сделать?