2014-01-13 2 views
1

를 쿼리하는 방법을 나는 테이블을조회 테이블, 열거 형은 그들에게

이미지

-Id 
-Name 
-StatusId 

및 조회 테이블이 있습니다

ImagesStatus

-Id 
-Name 

무엇 최고 일 것입니다. StatusId를 기반으로 이미지 테이블에 대한 쿼리를 수행 하시겠습니까? 즉, ImagesStatus 테이블 요소와 일치하고 할)

db.Images.Where(x => x.StatusId == 1); 

3) 열거 (ImagesStatusEnum 만들기 : 다른

public enum ImagesStatusEnum 
{ 
    Pending = 1, 
    Approved = 2, 
    Rejected = 3 
} 
int approvedStatusId = (int)ImagesStatusEnum.Approved; 
db.Images.Where(x => x.StatusId == approvedStatusId).ToList(); 

3) 뭔가 내가하지 않은

1) 아이디를 하드 생각해 봤어?

+0

SQL 또는 EntityFramework ORM에 linq를 사용합니까? – alexmac

+0

엔티티 프레임 워크 – user441365

+0

그런 다음 @scheien 솔루션을 사용해야합니다. – alexmac

답변

3

EF5 이상에서는 엔티티의 필드를 기존 열거 형에 매핑 할 수 있습니다. 모델에서 필드 (유형 int 선호)를 마우스 오른쪽 버튼으로 클릭하고 열거 형으로 변환을 클릭하십시오. 그런 다음 새 enum이나 기존 enum을 사용하도록 설정할 수 있습니다.

이 같은 쿼리를 수행 할 수는 좀 더 가독성을 제공하기 때문에 내가 열거 방식을 선호

db.Images.Where(x => x.StatusId == ImagesStatusEnum.Approved).ToList(); 

. 이 열거 형을 유지 관리하는 비용은 최소화됩니다.

관련 문제