2011-08-31 4 views
1

아주 간단한 질문이지만 거친 아침을 보내고있는 것 같습니다.정렬 된 결과에서 Linq를 사용하여 객체 선택

지금까지 작성된 쿼리가 있는데 반환 된 결과의 첫 번째 개체를 선택하고 ID 자체는 아니지만 ID가있는 기본 사용자를 선택하고 싶습니다.

의미가 있습니까?

//Edited the code for clarity! 
                  After this OrderBy is run, 
                  I have collection I want, 
                 but I need to select the USER 
                  no the UserAuctionLance. 
var user = db.UserAuctionLances.Where(a => a.AuctionId == id).OrderByDescending(s => s.DateTimeOfLance).Select?? 

"날짜를 내림차순으로 사용자 입찰의 모든 주문하고, 나에게 경매 번호 푸에 입찰 마지막 사용자를 제공합니다."

어쩌면 그 점이 명확 해집니다. User 객체를 반환해야합니다.

감사합니다. 당신은 시도 싶어 할 수

+1

FirstOrDefault를 사용해 보셨습니까? –

+0

@Nivid :이 경우 FirstOrDefault는 내가 목표로하는 링크 된 User 객체가 아닌 UserAuctionLance 객체를 반환합니다. 시도해 줘서 고마워! :) –

+1

모델은 어떻게 정의됩니까? .FirstOrDefault (u => u.User) 할 수 있습니까? UserActionLance에 정의 된 사용자 개체가 있습니다. –

답변

2

난 당신이 원하는 생각 : 아무것도 존재하지 않는 경우

var user = db.UserAuctionLances.Select(a=>a).Where(a => a.AuctionId == id).OrderByDescending(s => s.DateTimeOfLance).FirstOrDefault(); 

첫 번째 결과를 반환, 또는 null해야한다고.

그리고 당신은 아래에 설명 된대로 뭔가 더 같은, 당신은 userAuctionLances 내에서 사용자 개체를 원하는 :이 경기를 정렬하고 있다면 다음 첫 번째 일치하는 항목이나 null을 반환합니다

var user = db.UserAuctionLances.Where(a => a.AuctionId == id).OrderByDescending(s => s.DateTimeOfLance).Select(a=>a.UserObject).FirstOrDefault(); 
+0

하지만 UserAuctionLance 객체를 반환했지만, 목표로하는 User 객체는 아닙니다. –

+1

사용자 개체가 UserAuctionLance 개체의 일부입니까? 위의 명령문을 다음과 같이 수정하십시오. source.Where (...). OrderBy (...). Select (a => a.UserObject) .FirstOrDefault(); – Kevek

+0

이제 내 질문을 이해했습니다. :) 우리가 가서 대답을 편집하면 받아 들일 것입니다. –

1

..

var user = db.UserAuctionLances.Where(a => a.AuctionId == id).OrderByDescending(s => s.DateTimeOfLance).Select(s => s.User).FirstOrDefault(); 

또는
var user = db.UserAuctionLances.Where(a => a.AuctionId == id).OrderByDescending(s => s.DateTimeOfLance).Select(s => s.User).LastOrDefault(); 

내가 거의 UR 데이터 구조가 어떤지 알 수없는 원인, 말할 하드

.

+0

@scartag Thats what UserAuctionLances와 User 테이블 사이의 관계는 무엇입니까? –

+0

하지만 그게 UserAuctionLance 객체를 반환했지만, 내가 목표로 삼고있는 기본 User 객체는 아닙니다. –

+0

EF4를 사용하고 있고 user 테이블이 관계를 통해 UserAuctionLance 테이블에 링크되어 있다면 User 엔티티는 네비게이션 속성이어야합니다. – scartag

1
var user = db.UserAuctionLances.Where(a => a.AuctionId == id).OrderByDescending(s => s.DateTimeOfLance).Select(a => a.User).FirstOrDefault(); 

발견되지 않는 경우 참조 유형 (클래스).

관련 문제