大家好,有一个问题请教一下。
目前我用的是LINQ TO ENTITY3.5,想要用Linq 写出能在数据库中转换成以下这样的语句,难点在于cast
说明:column1 在数据库中是nvarchar 类型,映射linq 后是string类型,因为我排序的时候要按照int 类型排序,所以要转换成int ,否则排序时错误的
select * from column1 order by cast(column1 as int )
例如 var tt = from m in dt.test orderby Convert.ToInt32(m.column1) select m; -----是错误的
请假大家给我一个正确的linq 语句
出现什么错误,是不是你的m.column1有NULL值什么的?
感觉你的思路有些问题。字符串是 Unicode 字符的有序集合,Unicode 字符有对应的数值,而比较string 实际上也就是比较他们的对应的整数值;没必要做强制转换的。
建议改一下数据库表结构,即使找到办法,效率也是很低的