В таблице есть столбец идентификатора, увеличивающийся на единицу при каждом добавлении строки (минимальное значение равно 1). Теперь есть новое требование - нам нужно реализовать мягкое удаление.Как обмануть обновление столбца?
Итак, моя идея состояла в том, чтобы в основном умножить любую мягко удаленную строку на -1. Это гарантирует уникальность и четко рисует линию между активным и мягко удаленным элементом.
update Things set Id = -101
where Id = 101
Знаете ли вы, что глупый компьютер не позволяет мне это делать. Предлагаемая работа вокруг заключается в следующем:
- чередуются колонка
- производить обновление
- чередоваться обратно столбец
и мне кажется, что Q & D. Однако, единственная альтернатива, которую я вижу, - это добавить новый столбец, содержащий статус удаления.
Я использую EF для выполнения работы с дополнительной причуда, что, когда я изменил значение идентичности и хранить его, программное обеспечение было достаточно любезен, чтобы думать, для меня, и на самом деле создать новую строку (с приращением установленный личность, которая не была ни оригинальной, ни отрицательной ее).
Как мне решить эту проблему?
Вы пробовали свое 'UPDATE' с' SET IDENTITY_INSERT dbo.Things ON'? – stakx
@stakx Нет, не знаю. В основном потому, что я не знал об этом. Теперь, когда я это делаю, я все еще не могу - это может быть связано со мной на Sql Server. Во всяком случае, мы будем делать это из Entity Framework, и я не уверен, как сделать эквивалент от этого (или, если это вообще возможно). –