На данный момент у меня есть большая модель данных сущностей (.edmx) с базой данных под ней. Теперь я хочу дать людям, которые используют мой сайт, возможность редактировать эти объекты, но только после того, как я одобрил изменение.
Так что это будет означать, что я хочу «изменить» сущность, но пока не сохраню ее, после того как я принял изменение, оно переопределит сущность с измененной. Но когда я сделал это, я все еще хотел бы иметь возможность откатить изменения позже.
Теперь у меня есть несколько решений:
1) Создайте объект с подобным: [ID], [ChangeApplyDate] [ChangeApproveDate] [Объект до изменения] [Объект после изменения] [Принято (булево)]
2) Создайте дополнительный объект с измененными значениями и связью с «оригинальным» объектом и укажите логическое значение в этом объекте, если это текущий утвержденный объект или нет. (это не создаст новую таблицу, но развернет таблицу, например, «Книга», с несколькими дополнительными свойствами.
Теперь я хотел бы знать, как вы относитесь к этим решениям и можете ли вы когда-нибудь сделать что-то подобное?