1
我有一個名爲'length',類型爲varchar(10)的字段的表。這些字段包含「實數」(帶小數點的分數 - 例如647.45224) - 表示爲字符串。 我想打電話給一個LINQ到SQL查詢,將責令SELECT的結果,本場(其數值表示),像這種「原生」的SQL查詢:按字符串順序排列爲Float
SELECT * FROM [Table] ORDER BY CAST(length AS float) DESC
我已經嘗試了幾種告訴LinqToSQL將字符串轉換爲浮點數的方法,但運行時會返回一個轉換錯誤(注意,沒有智能感知錯誤,也沒有編譯期間的錯誤,僅在執行時)。
我已經試過:
Results = dbx.[Items].Where([conditions]).OrderByDescending(b => float.Parse(b.length))
我也會滿足於四捨五入和轉換,以int和由排序(雖然我寧願使用的課程的實數),我嘗試:
Results = dbx.[Items].Where([conditions]).OrderByDescending(b => Convert.ToInt32(b.length))
但是,這也給出了一個錯誤。
有什麼辦法嗎?
謝謝,我之前避免了它,因爲在嘗試鍵入它時,Intelisense會說「此方法將始終返回[... exceptio n]「, 但如果仍然使用它 - 那麼它編譯和工作,因爲它應該... –