我有一個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
查詢後。