2013-04-29 5 views
0

.Where 문에서 하나의 열만 가져올 가능성이 있습니까? 예 : ID.엔티티 - 하나의 열만 얻는 방법

List<testB> test = db.testB.Where(x => x.UserID == userId).ToList(); 

여기 엔 모든 entites가 있습니다. testB.

그리고 List<int>을 대신 testB.ID으로 반환하고 싶습니다. 어떻게해야합니까?

+0

@ StevenVondruska의 대답과 같이 Linq의'Select' 메소드를 _project_ (Select 메소드의 툴팁 도움말 참조)에서'int'리스트로 선택하십시오. –

답변

10
db.testB.Where(x => x.UserID == userId).Select(x => x.ID).ToList(); 

List<int>

+0

'x.ID' 타입의'List'를 리턴합니다. –

+0

@retailcoder 질문 ID가 int 유형임을 암시합니다. –

0

이는 속성에서의 익명 형식의 클래스를 생성이

var test = db.testB.Where(x => x.UserID == userId) 
    .Select(a => new { 
      column = a.column 
    }).ToList(); 

처럼 ALL 기타 사항 서보 -OFF 사용해보십시오 반환해야합니다. 그것을 밖으로 시도하십시오.

+1

Select Before Where를 했으므로이 기능이 작동하지 않습니다. Select 부분 다음에 UserId 열이 없습니다. 스티븐 (Steven)의 대답 – Richard

+0

에서와 같이 일반적으로 '선택'앞에 'Where'를 사용합니다. 방금 답변을 업데이트했습니다. 이제는 효과가있다. – RaulMonteroC

+0

이것은 질문에 대한 유효한 대답이 아닙니다. 'List '을 반환하지 않습니다. – arserbin3

관련 문제