我有一个LINQ查询,我想选择并读取p.Api
值。LINQ读取选择值
var api = DataAccessNew.Instance.dcServers.Where(p => p.Ip == IpAddress).Select(p => p.Api);
如何读取p.Api
值?我试过api.ToString()
但是我得到的是SQL而不是实际的列值
我有一个LINQ查询,我想选择并读取p.Api
值。LINQ读取选择值
var api = DataAccessNew.Instance.dcServers.Where(p => p.Ip == IpAddress).Select(p => p.Api);
如何读取p.Api
值?我试过api.ToString()
但是我得到的是SQL而不是实际的列值
你了Syntex似乎确定..
顺便说试试这个
string api =DataAccessNew.Instance.dcServers.Where(p => p.Ip == IpAddress).Select(p => p.Api).FirstOrDefault();
你得到一个IEnumerable<>
回(和你的ToString
呼叫您显示表达式的值)。
如果你期待一个值,这样做:
var api = DataAccessNew.Instance.dcServers
.Where(p => p.Ip == IpAddress)
.Select(p => p.Api)
.Single();
你可能有兴趣阅读有关其他方法,如单():SingleOrDefault
,First
,FirstOrDefault
。你使用哪一个取决于你是否期望返回单个或多个值(Single vs. First)以及如果没有值时你想要发生什么(* Default方法将返回类型默认值而不是抛出异常)。
或者,如果你想看看所有返回值:
var api = DataAccessNew.Instance.dcServers
.Where(p => p.Ip == IpAddress)
.Select(p => p.Api);
foreach (var apiValue in api)
{
// apiValue will have the value you're looking for.
}
试试这个代码片段:
string apiValue = api.FirstOrDefault().ToString();
如果p.Ip
是表中唯一的键,你可以尝试添加.FirstOrDefault()
在您的Linq
查询后。