2013-05-30 5 views
0

나는 Query Method 구문을 선호하지만 때로는 훨씬 더 어려워 보입니다. SQL 언어에서는 하나의 열을 쉽게 선택하고 다른 열에 where 절 조건을 지정할 수 있습니다. 내가 쉽게이 번역 할 수 있습니다 LINQ 쿼리 이해 구문에서 LINQ 하나의 열을 선택하십시오 다른 열은 어디에 있습니까

SELECT UserName FROM VendorsTagged WHERE [email protected] 

: LINQ 쿼리 방법 구문에서

string[] names = (from v in _db.VendorsTagged 
        where v.ProfileID == pid 
        select v.UserName).ToArray(); 

난 일하러 가야하지 못할. 아래 쿼리에 where 절을 추가하려고하면 select 절에 열이 있어야하는 것처럼 보입니다. select 절은 원하는 결과가 아닙니다. 어떤 아이디어? 쿼리 이해 구문의 예에 해당 그리고 같은 방식으로 작동합니다

string[] names = _db.VendorsTagged.Select(s => s.UserName).ToArray(); 

답변

2
string[] names = _db.VendorsTagged 
        .Where(v => v.ProfileId == pid) 
        .Select(v => v.UserName).ToArray(); 

.

+0

좋아요, 내 실수는 명령이었고, 선택의 여지가 많고 끝 부분이 많은 변형을 시도했습니다. 위의 예에서 플립하면 작동하지 않습니다. 이는 SQL에 익숙한 사람에게는 반 직관적입니다. Thumb – SQLGrinder

+0

@Vic 처음에는 반 직관적 인 것처럼 보일지 모르지만 요점은 선택 대상을 지정하고 필터링하는 방법을 지정한 다음 데이터의 어느 부분을 시퀀스로 반환할지 지정하는 것입니다. 당신이 그것에 대해 생각한다면 SQL은 실제로 약간 뒤떨어져 있습니다. – bcr

관련 문제