MVC общий репозиторий общие dataColumn - PullRequest
1 голос
/ 18 июля 2011

У меня есть общий репозиторий, который я использую для общих вещей, таких как FetchAllData, GetbyID и так далее ... В любом случае, я хочу включить метод Deactivate(T Entity), чтобы вместо удаления данных я просто отключал их статус, чтобыпользователь не увидит данные, но я могу видеть их всякий раз, когда мне нужно.По сути, что-то похожее на:

public interface IGenericRepository<T> where T : class {
     ...somecode
}

public class GenericRepository<T> : IGenericRepository<T> where T : class {
    public T GetbyID(int id) { ... }

    public void Deactivate(T entity) {
        entity.stat = 0; // I know that this stat is common in all tables. However,
                         // my problem is that I don't know how to make appear stat
                         // in IntelliSense.
    }
}

Я знаю, что это можно сделать, но я, как мне это сделать?

1 Ответ

1 голос
/ 18 июля 2011

Объявить интерфейс:

public interface IDeactivatable {
    int stats { get; set; }
}

Тогда ваши сущности должны быть производными от IDeactivatable.

Подсказка: вы также можете добавить ограничение общего типа:

 [...] IGenericRepository<T> where T : class, IDeactivatable [...]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...