Как инактивировать элементы в таблице с помощью MVC 3, EF Model First - PullRequest
1 голос
/ 19 марта 2012

Сначала я использую MVC 3, модель EF для моего веб-приложения.

У меня есть таблица со списком сотрудников, я хочу иметь возможность деактивировать сотрудников, а также иметь возможность удалять сотрудников. У меня нет проблем с удалением сотрудников, но я также хочу иметь возможность деактивировать сотрудников, чтобы люди не могли искать сотрудника или использовать их в других типах функций, хотя я все же хочу, чтобы они существовали в моей базе данных.

Ответы [ 2 ]

1 голос
/ 19 марта 2012

Я думаю, что это не имеет значения при использовании EF или ADO.net для инактивации элементов (мягкое удаление).Что я обычно делаю, так это помещаю в базу данных что-то вроде «record_status» и меняю статус, когда я хочу мягко УДАЛИТЬ запись.В операции SELECT или UPDATE я проверяю этот столбец «record_status» и действительно требую операции.

1 голос
/ 19 марта 2012

Добавить поле статуса в таблицу.Сотрудник будет иметь другой статус 1 - Онлайн 2 - Неактивный 3 - Удален.Таким образом, вы можете хранить всех своих сотрудников в базе данных, но вы сможете вывести сотрудников, которые работают только на данный момент (онлайн).

Context.Get().Employees.Where(x => x.Status == EmployeeStatus.Online);

И перечисление EmployeeStatus:

public enum EmployeeStatus
{
Online = 1,
Inactive = 2,
Deleted = 3,
}

РЕДАКТИРОВАТЬ:

Вам может потребоваться выполнить дополнительный анализ, чтобы заставить перечисление работатьсюда;с другой стороны, вы можете просто использовать данные по значению int, но enum намного понятнее.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...