次の例を考えてみましょう。すべての例で、既知の ID を持つ州/州のコードと名前を、"CA-California" のような形式の単一の文字列変数に取得しようとしています。
string stateName = _repository.States.Single(s => s.StateId == stateId).Name;
string stateCode = _repository.States.Single(s => s.StateId == stateId).Code;
string stateCodeName = stateCode + "-" + stateName;
var state = _repository.States.Single(s => s.StateId == stateId);
string stateCodeName = state.Code + "-" + state.Name;
string stateCodeName = _repository.States.Where(s => s.StateId == stateId)
.Select(s => s.Code + "-" + s.Name)
.First();
最初の例では、状態の必要なプロパティのみが取得されますが、2 つの異なるクエリを実行するコストがかかります。2 番目の例では、1 つのクエリのみを実行しますが、状態のすべてのプロパティを取得します。3 番目の例は問題ないようですが、私の質問は、Single および First メソッドを使用して、オブジェクト (またはテーブルの列) から任意の数のプロパティを取得する方法があるかどうかです。一つずつ?
ありがとうございました