2017-04-26 72 views
2

我想訂購我的清單idEtatD但該屬性不是我的表primarykey或id它是從另一個表中遷移的正常屬性,螺母OrderByOrderByDescending沒有給我一個結果我的清單仍然沒有訂購idEtatDLinq-OrderByDescending不適用於我--ASP.net MVC

public ActionResult ListeDemande(int? page) 
     { 


      traçabilitérepository=new TraçabilitéDemandeRepository(db); 

      var listdemandes = (from d in db.Demande_Gabarit 
           join t in db.Traçabilité_Demande_Gabarit 
            on d.id_demande equals t.iddemande into ThisList 
           from t in ThisList.DefaultIfEmpty() 

           select new 
           { 
            id_demande=d.id_demande, 
            NumDemande = d.NumDemande, 
            Emetteur = d.Emetteur, 
            Date = d.Date, 
            Ligne = d.Ligne.designation, 
            Etat = t.Etat_Demande_Gabarit.EtatDemande 

           }).ToList().Select(x => new DemandeViewModel() 
           { 
            NumDemande = x.NumDemande, 
            Emetteur = x.Emetteur, 
            Date = x.Date, 
            designation = x.Ligne, 
            EtatDemande = x.Etat, 
            id_demande = x.id_demande 
           }); 
      int pageSize = 10; 
      int pageNumber = (page ?? 1); 
      return View(listdemandes.OrderByDescending(x => x.idEtatD).ToList().ToPagedList(pageNumber, pageSize)); 
     } 

請問我需要你的幫助,謝謝。

+1

如果上面的代碼編譯,那麼你的'emandeViewModel'有一個屬性'idEtatD'這是不set,所以它最有可能包含一個和相同(默認)值,所以正常的'OrderBy(Descending)'不對結果進行排序。 –

回答

2

您可以訂購一開始的項目,但你需要把它列入名單:

traçabilitérepository = new TraçabilitéDemandeRepository(db); 

      var listdemandes = (from d in db.Demande_Gabarit 
           join t in db.Traçabilité_Demande_Gabarit 
            on d.id_demande equals t.iddemande into ThisList 
           from t in ThisList.DefaultIfEmpty() 
           orderby t.idEtatD descending 

           select new 
           { 
            id_demande = d.id_demande, 
            NumDemande = d.NumDemande, 
            Emetteur = d.Emetteur, 
            Date = d.Date, 
            Ligne = d.Ligne.designation, 
            Etat = t.Etat_Demande_Gabarit.EtatDemande, 
            idEtatD = XXXX 
           }).ToList().Select(x => new DemandeViewModel() 
           { 
            NumDemande = x.NumDemande, 
            Emetteur = x.Emetteur, 
            Date = x.Date, 
            designation = x.Ligne, 
            EtatDemande = x.Etat, 
            id_demande = x.id_demande 
           }); 
+0

非常感謝你:) – oumaima