我嘗試按數字順序排列Departments,但由於在數據庫中以字符串形式存儲分區號,我不能只用數字順序。 我嘗試將其解析爲float,但它不起作用。然後我試圖解析它爲Double。那也行不通。有什麼建議麼?以下是我的代碼。LINQ to Entities無法識別方法'Double Parse(System.String)'無法轉換爲存儲表達式C#asp.net
using (var db = new Context())
{
var datasource = (from x in db.Departments
orderby double.Parse(x.DepartmentNumber)
select x).ToList();
lvData.DataSource = datasource;
lvData.DataBind();
}
感謝您的回答,我做了以下,但結果不正確entirly。
var datasource = (from x in db.Departments orderby x.DepartmentNumber select x).ToList().OrderBy(Department => float.Parse(Department.DepartmentNumber));
我有點supreised是'DepartmentNmber'不是類型duoble的。 –
我們無法猜測您對「正確」的定義是什麼。你的意思是你想'209.01'出現在'222'之前?屏幕截圖中顯示的排序似乎表明您的語言環境使用逗號作爲小數點,然後對其進行解析。 – CodeCaster
感謝您的評論,我只是想通了,現在它的作品。請進一步閱讀我的答案。 – Mindan