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