2009-04-21 3 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); 
関連する問題