对Nullable Biginit进行排序会返回错误的排序数据

时间:2014-03-14 16:54:37

标签: c# asp.net-mvc entity-framework asp.net-mvc-4

我的Biginit类型的sql server 2008 R2中有一个列,允许名为“Serial”的空值。它具有如下值: - : -

**Serial**
100200
100202
100375
100376
100377

现在在我的asp.net mvc web应用程序中,我在实体框架内有以下linq查询: -

var records = repository.AllFind(withOutSpace).OrderBy(a => a.Technology.Serial).ToPagedList(page, pagesize);

所以我根据序列号命令提升的记录,但结果是我得到了以下命令

100375
100376
100377
100200
100202

所以它假设100200比100377更重要!!,任何想法可能导致这个问题? 感谢

1 个答案:

答案 0 :(得分:0)

如果100200比100377大,那么他就会按字典顺序排序,就像元素是字符串一样。

Lexicographycally,100200大于100377,也许这就是原因。