Я пытаюсь реализовать таблицу аудита с использованием Entity Framework core 2.0. Однако сохраняются все поля, а не только отредактированные. Я думал, что мог бы сделать простое заявление if Если старое значение не равно новому значению, это измененное значение.
Однако, это не работает для логических значений. Два истинных булевых значения не равны.
Вот мой очень простой код:
if (property.OriginalValue != property.CurrentValue)
{
auditEntry.OldValues[propertyName] = property.OriginalValue;
auditEntry.NewValues[propertyName] = property.CurrentValue;
}

Надеемся, вы можете видеть на изображении, что оба значения OldValues
и NewValues
верны, но в случае с выражением if
это не так. Мне бы хотелось, чтобы оператор if
сравнивал строки, целые, логические значения и т. Д., Если это возможно.