我尝试按数字顺序排列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