2016-11-08 7 views
0

У меня есть база данных Мне нужна консультация о том, как действовать в этой ситуации. Предполагая, что у меня есть таблица под названием «Задачи». Каждая задача имеет свойство, называемое CreatedBy, где мне нужно хранить информацию о пользователе, который создал эту задачу.C# SQL Server - сохранить информацию о пользователе по элементу, когда пользователь был удален

Я могу хранить, например, идентификатор этого пользователя, и когда я получаю задание, я получаю информацию о пользователе, так что конкретная задача, созданная значением поля, будет, например, Джоном Смитом вместо идентификатора. Все хорошо до сих пор. Что или как я должен обрабатывать сценарий, где, скажем, пользователь John Smith был удален/удален из системы, и задача все еще существует, как мне показать имя пользователя, создавшего задачу? Мне все еще нужно показывать там Джона Смита, а не только идентификатора.

+0

Либо никогда не удаляйте и не записывайте имя. –

ответ

2

В этой ситуации я бы использовал «мягкие удаления» для таблицы «Пользователь». Добавьте столбец в таблицу пользователя и назовите его «Активный» со значением по умолчанию 1. Когда вы хотите удалить пользователя, установите значение 0. Это позволит вам продолжать применять ссылочную целостность для ваших пользователей.

3

Вместо того, чтобы удалять пользователя, вы можете добавить столбец Active в адрес User. В случае, если Джон Смит удалит свою учетную запись, вместо удаления вы установили Active в false.

Это называется мягким удалением.