LINQ OrderBy pas de commande .. qui ne changent rien .. pourquoi?
Aucune idée pourquoi le LINQ OrderBy ne fonctionne pas dans le code suivant, (sans erreurs, mais la méthode ne permet pas de trier ...)
Tout d'abord, ma propre type de
public class IQLinksView
{
public int id { get; set; }
public int catid { get; set; }
public int? viewed {get;set;}
public string name {get;set;}
public string desc {get;set;}
public string url {get;set;}
public string pic {get;set;}
public string cat {get;set;}
}
ensuite requête :
IQueryable<IQLinksView> newView =
from links in this.emContext.tbl_otherlinks
select new IQLinksView { id = links.pklinkid, catid =
links.tbl_catgeory.pkcategoryid, viewed = links.linkviewed, name = links.linkname,
desc = links.linkdesc, pic = links.linkpicture, url = links.linkurl, cat =
links.tbl_catgeory.categoryname };
Jusqu'ici tout va bien :-), mais alors
newView.OrderBy(x => x.viewed);
juste ne change rien,... la Page est en cours de chargement résultats montrant ... mais pas de commande ... sniff
j'ai Essayer avec (création d'un comparateur d'objet ... ):
newView.OrderBy(x => (Int32)x.viewed, new CompareIntegers());
même résultat, pas de commande ...
J'ai des solutions de contournement, mais je me demandais ce qu'il manque ....
Toutes les suggestions seront appréciées merci beaucoup 🙂
Vous devez vous connecter pour publier un commentaire.
Ne jetez pas la valeur de retour. Le
OrderBy
méthode d'extension est ne pas la mutation de l'entrée. Essayez:Il n'ya aucune raison pourquoi cela ne fonctionnera pas, en supposant que le
viewed
valeur est correcte. Aussi, assurez-vous queOrderBy
est après toutes les opérations (p. ex.Distinct
) qui va ruiner la commande.Bon codage!