2012-08-23 42 views
1

我已經從我的表中選擇了多列,但我不知道如何將它傳遞給我的視圖。linq mysql:選擇多列併發送到查看

var result = (from f in db.firmware 
       where f.firmware_release_type_text != "" 
        || f.firmware_release_type_text != null 
        || f.firmware_release_number_int != 0 
       select new{ 
        f.firmware_release_type_text, 
        f.firmware_release_number_int 
       }).Distinct(); 

結果是f__anonymous2。我想知道如何在我看來使用它。所有的論壇都剛剛回答瞭如何選擇多欄,但沒有人提到如何通過它們。我想我錯過了一些明顯的東西。

我希望能夠使用這些字段,或者甚至將它們合併爲一個字符串。

我已經嘗試過Cast和其他很多其他的選項,但沒有奏效。

當我試圖迫使鑄造它刺痛,我得到:

Unable to cast the type 'Anonymous type' to type 'System.String' 

感謝

UPDATE:

在我與去年底:

var result = (from f in db.firmware 
       where (f.firmware_release_type_text != "") 
        && (f.firmware_release_type_text != null) 
        && (f.firmware_release_number_int != 0) 
       select new{ 
          f.firmware_release_type_text, 
          f.firmware_release_number_int 
         } 
      ).Distinct(); 

     List<string> result2 = new List<string>(); 
     foreach (var item in result) 
     { 
      result2.Add(item.firmware_release_type_text 
         + "-" + item.firmware_release_number_int); 
     } 

回答

0

如果您想要以字符串形式返回數據,您必須說明它應該如何格式化。例如,你可以改變這一點:

select new 
{ 
    f.firmware_release_type_text , f.firmware_release_number_int 
} 

要這樣:

select f.firmware_release_type_text + " v" + (int)f.firmware_release_number_int 
+0

感謝馬克,但我得到: System.NotSupportedException:LINQ to Entities不識別方法'System.String Format(System.String,System.Object)'方法,並且此方法無法轉換爲存儲表達。 @Mark Byers – Athena

+0

對不起,我沒有想到你正在使用實體框架,但事後應該有。 –

+0

還有其他建議嗎? 並感謝 – Athena

0

你有兩種選擇創建示範第一,第二格式在服務器端的數據。