日期:2014-05-20  浏览次数:20776 次

Entity Framework排序问题,如果将字符串转成整数之后再进行排序呢?

ID
VARCHAR 20

到时想用这个ID进行排序,请问如何做呢?

------解决方案--------------------
其实就算是在sql server中排序,也是很慢的。当然要比把所有数据序列化到内存里排序要快多了!

这个要追究数据库表设计值得“责任”,例如踢他的屁股,或者你们需要写一个转换程序将这个字段改为整数类型,或者在这个字段旁边另外再设计一个整数类型的字段作为其“配对”。总之,需要从设计思路上进行修改。而不是一个低级的纯技术问题。
------解决方案--------------------
如果这个字段都是数字,为何不用int类型?你这样设计不是自找麻烦吗?


------解决方案--------------------
可以变换个思路,用字符串排序

OrderBy(t=>("000000(20个0)"+ t.ID).Substring(t.ID.Length, 20) )