我想通过idEtatD来排序我的列表,但是此属性不是我的表主键或id,而是从另一个表迁移来的普通属性,无论是OrderBy还是OrderByDescending都没有给我结果,我的列表仍然没有被idEtatD排序。

 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));
        }


请我需要您的帮助,谢谢。

最佳答案

您可以在开始时订购商品,但需要将其包括在列表中:

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
                                });

关于c# - Linq-OrderByDescending对我不起作用-ASP.net MVC,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43630087/

10-16 18:55