2017-07-14 64 views
-1

我有這行代碼:ASP.NET實體框架排序,然後不工作

var inventory = dbInventory.Data 
    .SqlQuery(sql) 
    .OrderBy(m => m.isSold) 
    .ThenBy(m => m.lotNumber) 
    .ToList(); 

我這個代碼在我的網站4頁,順序是正確的3出的4 ,對於第四名,他們根本就不想去。對於那個不工作的人,所有的isSold都是假的,他們都有很多的號碼,但是它沒有按順序返回lotNumbers。

請幫忙。

+1

這將幫助,如果你還包括模型類的定義,我首先想到的是,你試圖通過數量(在lotNumber)進行排序,但他們實際上是字符串,所以.NET想字符串進行排序,而不是數字(即10來到2之前) –

+0

'SqlQuery'返回'IEnumerable ',因此查詢的排序部分是對象的正常LINQ(與EF無關)。 –

+0

lotNumber是一個字符串公共字符串lotNumber {get;組; } – user979331

回答

0

這解決了我的問題。

var inventory = dbInventory.Data.SqlQuery(sql).OrderBy(m => m.isSold).ThenBy(m => int.Parse(m.lotNumber)).ToList();