考虑以下示例,在所有这些示例中,我试图将具有已知 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();
在第一个示例中,只检索状态所需的属性,但代价是运行两个不同的查询。第二个示例只运行一个查询,但它检索状态的所有属性。第三个例子似乎没问题,但我的问题是,是否有一种方法可以使用 Single 和 First 方法从对象(或表中的列)中检索任意数量的属性,而不是全部或仅获取它们一次一个?
谢谢你