2017-04-19 56 views
-2
var list = from x in db.Cars 
      orderby x.Make ascending 
      select new { x.Make }; 

Vehicle(x.make); 

我怎樣才能提取x.make並將其設置爲一個字符串?X我如何提取查詢結果,並將其設置爲一個字符串

+4

那麼如果有多個結果,你希望這個字符串是什麼?(以及爲什麼你只投射一個只有一個屬性的匿名類型?) –

+0

我只是簡化了詢問問題的查詢,我想提取make和將它設置爲一個字符串。任何幫助歡迎 – mick1996

+0

@ mick1996 - 但仍然 - 如果你有2個記錄什麼將s tring看起來像?字符串的串聯?請顯示數據和預期結果 –

回答

-1

我方面,你需要結果的列表,因爲你我們e .OrderBy。爲了acomplish這種使用Query Expression

// select all cars ascending 
var list = from x in db.Cars 
      orderby x.Make ascending 
      select x; 

// loop thru all the results and pass it into Vehicle(); 
foreach (var result in list) 
{ 
    Vehicle(result.Make); 
} 
+0

完美的作品謝謝你! – mick1996

+1

你確定這個工作嗎?因爲你的查詢和遍歷不匹配。 –

+1

事實上,第一個版本根本不會編譯,除非你的'Make'屬性的類型*真的*有它自己的'Make'屬性... –

0

您與作出屬性選擇它作爲一個匿名對象,選擇所需的屬性只

var list = from x in db.Cars 
      orderby x.Make ascending 
      select x.Make; 

或者使用lambda語法

var list = db.Cars.Select(c => c.Make).OrderBy(c => c); 
0

您不能訪問x變量的範圍之內,因爲它只有在執行過程中查詢的一部分。

您的列表變量,填入您的查詢的結果(它提取的品牌,而不是汽車。

只需通過您的列表,以便訪問您的品牌的每一個枚舉。

foreach(var make in list) 
    Vehicle(make); 
相關問題