특정 데이터베이스에서 모든 레코드를 가져 와서 캐시에 저장하는 메서드가 있습니다. 그 메소드가 호출 될 때, 먼저 캐시를 검사하여 캐시 버전이 만료되지 않았 으면 캐시 버전을 단순히 리턴 할 수 있는지를 확인합니다.SQL에 linq 테이블 crud 작업에 대한 트리거 캐시 지우기
질문 : dataContext.SubmitChanges()가 호출 될 때마다 어떻게 메소드를 트리거합니까? 예를 들어, Book 테이블에서 모든 책을 가져 와서 Cache [ "AllBooks"]에 저장하면 책 테이블과 관련된 모든 중요한 작업에서이 캐시 개체를 지우려고합니다.
내가 현재을하고 있어요 :
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에 트리거 할 나는 책 테이블에서 매번 작업을 할 때마다 그것을 부르는 것을 잊지 않아도됩니다.
참고 : Book 테이블과 무관 한 테이블에서 crud 작업을 수행하면 ClearBookCache() 메서드를 호출하지 않아도됩니다.
나는 이것이 의미가 있기를 바랍니다.
모든 CRUD 작업이 필요합니까? CUD와 더 비슷합니다 - 읽지 않은 부분이 없지 않습니까? –