让我们考虑以下数据表:
Id Name PhoneNo
1 Sam 123654
2 Mike 213654
3 John 998745
我需要来自此数据列表的Mike的Id并返回int值。我使用AllTestViews方法从数据库中检索所有这些数据作为项目列表。
int id= gateway.AllTestViews().//Something//(a => a.TestName=="Mike")
return id;
有没有办法获得此ID或我必须使用SQL查询此问题? 感谢
答案 0 :(得分:5)
使用FirstOrDefault
: -
int result = gateway.FirstOrDefault(x => x.Name == "Mike")?.ID ?? 0;
如果您不使用C#6,则需要在访问Id之前检查空值: -
var firstObj= geteway.FirstOrDefault(x => x.Name == "Mike");
if(firstObj != null)
{
//fetch Id
}
答案 1 :(得分:3)
您可以使用与Where
链接的Select
过滤器(以获取ID):
var result = gateway.Where(x => x.TestName == something).Select(x => x.ID);
注意:您只需将上述条件(x.TestName == something
)调整为适合您需要的条件过滤器。