У меня есть метод, который получает все записи из определенной базы данных, а затем сохраняет их в кеше.При следующем вызове этого метода он сначала проверяет кэш, чтобы узнать, может ли он просто вернуть версию кеша, если срок действия этого объекта кеша не истек.
Вопрос : как это сделатьЯ запускаю метод каждый раз, когда dataContext.SubmitChanges () вызывается?Например, если я получу все книги из таблицы Book и сохраню их в Cache [«AllBooks]], я хочу, чтобы этот объект кэша очищался при любых грубых операциях, связанных с таблицей Book.
Что я сейчас делаю :
var b = dataContext.Books.Where(x => x.BookId == 4).SingleOrDefault();
b.Title = "new title for book w/ id of 4";
dataContext.SubmitChanges();
ClearBookCache();
позже ...
private void ClearBookCache() {
CustomCachingSystem.Clear["AllBooks"];
}
Что я хочу : ClearBookCache () будет автоматическисрабатывает на любых операциях с использованием таблицы таблиц crud, и мне приходится не забывать вызывать ее каждый раз, когда я выполняю операцию crud на таблице Book.
Примечание : я не хотел бы, чтобы ClearBookCache () метод, который будет вызван, если я сделаю грубую операцию с таблицей, не связанной с таблицей Book.
Надеюсь, это имеет смысл!