MVC + EF를 통해 슬그개를 고르고 올바른 방식으로 작업하는 데 집중하려고합니다. 지금은 양식에 드롭 다운을 추가하려고하지만 페이지가로드 될 때마다 데이터베이스를 치지 않으므로 앱 수준에서 데이터를 저장하고 싶습니다. 나는 응용 프로그램 수준 변수를 만드는 것이 최선의 방법이 아니라고 생각합니다. 놀랍게도 캐시와 정적 유틸리티 기능을 사용하는 방법에 대해 읽은 적이 있지만 그다지 결정적인 것은 없습니다. (단위 테스트에 대한 나쁜 정적 클래스, MVC의 앱 수준에서 데이터베이스에 저장된 조회 데이터를 유지하는 모범 사례
나쁜 캐싱 그래서 난에 대해 궁금 두 가지 시나리오를 가지고있는 방법은 두 가지.일 사이에 다를 것입니다 있는지 확실하지 않습니다) 기본 조회 50 개 주를 예로 들어 봅시다. 정의 된 작은 것은 결코 바뀌지 않을 것입니다. 응용 프로그램 시작시로드하십시오. (하드 코딩 된 솔루션을 찾고 있지는 않지만 데이터베이스에서 검색합니다.)
2) 조회가 거의 변경되지 않으며 관리자와 같은 화면을 통해서만 가능합니다. 예를 들어, 제품이 판매되는 도시/상점을 가정 해 봅시다. 따라서 데이터는 모델에 으로 저장되지만 다른 누군가가 애플리케이션을 통해 변경하지 않는 한 상대적으로 정적입니다. 그래서 드롭 다운 /리스트 박스를 채울 필요가있을 때마다 데이터베이스에 접근하지 않을 것입니다.
은 기본적인 것들처럼 보인다하지만 기본적으로 대답하지 않았다가이 주제와 동일합니다 :
Is it good to use a static EF object context in an MVC application for better perf?
어떤 도움에 감사드립니다.
기술적으로 POCO 클래스를 데이터 액세스 계층의 캐싱 메커니즘 인터페이스에 넣을 수 있습니다. 그런 다음 MVC 응용 프로그램에서 캐싱을 구현하고 인터페이스를 구현하고 데이터 액세스 레이어에 다음과 같이 전달할 수 있습니다. dataLayer.LoadStates (myCache) 여기서 ICache는 상태 목록을 채울 수있는 속성이나 메서드를 제공합니다. . –