2009-04-21 2 views
0

Linq2Sql 쿼리에서 하나의 엔티티를 검색하려고하는데 '꽤'하는 방법을 찾는 데 어려움이 있습니다. 다음은 작동하는 것으로 나타났습니다.linq2sql 쿼리를 사용하여 단일 항목 선택

var states = from state in dc.States where state.Id == j.StateId select state; 
State s = states.ToList<State>().ToList()[0]; 

저는 이것이 엔티티를 가져 오는 가장 좋은 방법이되기를 바라고 있습니다. :-P

누구나 더 나은 해결책이 있습니까?

미리 감사드립니다.

--J

답변

4

이 시도 :이 요구하는

int stateID = getTheStateIDToLookup();  
State state = dc.States.SingleOrDefault(s => s.StateID == stateID); 
+1

이 커뮤니티를 사랑. 너 락이야. –

3
var s = dc.States 
    .SingleOrDefault(st => st.Id == j.StateId); 

는 또한 명심이 귀하의 경우 아마도 사실 당신의 기준에 일치하는 경우에만 한 상태로.

var s = dc.States 
    .FirstOrDefault(st => st.Id == j.StateId); 

을 또는 당신은 당신의 기준과 일치하는 상태가 알고 있다면 당신은 너무처럼 OrDefault을 없애 수 : 또는 당신은 사용할 수

var s = dc.States 
    .Single(st => st.Id == j.StateId);