"lookup table"에 대해 이야기하고 있다고 가정합니다. 기본적으로 {Id, Name}의 스키마가 있으며 다른 테이블의 외래 키로 참조됩니다.
이 질문은 오래된 질문이며 "올바른 답변"이 없습니다.
열거 형이 변경 될 가능성이있는 경우 (관리자 사용자가 제어하는 경우 일 수도 있음) 데이터베이스에서 값을 새로 고침해야하므로 @Andrei Rinea의 제안을 사용할 수 없습니다. 궁극적으로, Keltex가 짧은 만료로 결과를 제안하고 캐시하므로 최대한 효과적 일 수 있습니다. 아마도 5 분 정도면 될 것입니다. 캐시가 적 으면 성능이 크게 향상 될 수 있습니다.
열거 형이 변경되지 않을 가능성이있는 경우 ... 관리자가 UI를 통해 수정할 수없는 경우 특히 열거 형을 실제 C# 열거 형에 매핑하는 재미있는 트릭이 있습니다. 열거 테이블의 기본 키에 직접 연결된 enum
의 값 이런 식으로 가능한 값 목록을 얻기 위해 데이터베이스를 전혀 방문하지 않아도됩니다.
이 트릭의 단점은 새로운 열거 항목을 사용하려면 코드를 새로 컴파일하고 새로운 배포가 필요하다는 것입니다. 이것은 이상적 일 수도 있고 그렇지 않을 수도 있으므로 신중하게 트릭을 사용하십시오.
은 (는) 매우 안정한 것으로 보입니다. 내 응용 프로그램이 매우 오랫동안 실행되고 enum이 그보다 약간 더 자주 변경되면 어떻게 될까요? – MedicineMan
PaymentStatus 또는 이와 같은 열거 형의 경우 Randolpho가 말한 것처럼 동일한 숫자 값을 갖는 카탈로그에 매핑되는 C# 열거가 거의 또는 전혀 변경되지 않습니다. HttpRuntimeCache 개체 ("캐시")에있는 다른 캐시의 경우 절대 만료 또는 SqlDependency –