读书人

[猫哥这里有鱼]linq 字母数字组合字符

发布时间: 2012-03-06 20:47:55 作者: rapoo

[猫哥这里有鱼]linq 字母数字组合字符串排序。

C# code
var subarea = (from a in db.Graveswhere a.FgrId == areaidorderby a.subArea ascendingselect new{a.subArea}).Distinct().ToList();

subArea 是字母带数字组合 如A1
我希望以如下顺序排列:
A1,A2,A3,A4 请问 orderby处该如何处理
[code=c#]
orderby Convert.ToInt32(a.subArea.Substring(1)) ascending 这么排序在sql里是可以的 但是linq里貌似行不通
[/code]

最后40分了

[解决办法]
据我所知 这样写法是可以的
不过最好对 subArea 加个非空判断:

var subarea = (from a in db.Graves
where a.FgrId == areaid && a.subArea.Length>1
orderby Convert.ToInt32(a.subArea.Substring(1))
select new
{
a.subArea
}).Distinct().ToList();

读书人网 >.NET

热点推荐