想要從db中的查找表列中提取文本值。 EL是我的數據庫的實體。當前代碼:C#lambda提取單行字符串值
var QTypes = EL.ElogQueryType.Where<ElogQueryType>(eqt=> eqt.ID == queryTypeID);
string qType = QTypes.First().QueryType;
我拿到的時候我只是拉.Select(...
這樣的東西是錯誤的清單。
想要從db中的查找表列中提取文本值。 EL是我的數據庫的實體。當前代碼:C#lambda提取單行字符串值
var QTypes = EL.ElogQueryType.Where<ElogQueryType>(eqt=> eqt.ID == queryTypeID);
string qType = QTypes.First().QueryType;
我拿到的時候我只是拉.Select(...
這樣的東西是錯誤的清單。
您應該能夠只要你知道你會得到一個項目:
var QTypes = EL.ElogQueryType.Where(eqt=> eqt.ID == queryTypeID).Single().QueryType;
如果你不確定你是否會得到一個或沒有使用SingleOrDefault()
。
如果你只是想在第一,因爲你期望多條記錄做的事:
var QTypes = EL.ElogQueryType.First(eqt=> eqt.ID == queryTypeID).QueryType;
同樣適用,如果你不知道你會得到什麼,使用FirstOrDefault
。
目前還不清楚什麼是錯誤的,因爲您目前的查詢應該會給你以後的結果。不過,您也可以使用First
超載,這需要斷言:
string qType = EL.ElogQueryType.First(eqt => eqt.ID == queryTypeID)
.QueryType;
你說你「時得到[你]拉。選擇(名單」,但它不是真正清楚你的意思你的天堂」 T表示這有什麼錯,你已經指定的代碼
(如凱爾說,有向第一替代方案:FirstOrDefault
,SingleOrDefault
,Single
甚至Last
應該你願意的話)。
我假設你並不真的想要'第一',因爲沒有'OrderBy',而是想要選擇一個'Single'記錄。 – Kelsey 2010-07-21 18:46:22