LINQ OrderBy not ordering。。什么也不改变。。为什么?
知道LINQ OrderBy在以下代码中不工作的原因吗(没有错误,但方法不排序…) 首先是我自己的类型LINQ OrderBy not ordering。。什么也不改变。。为什么?,linq,entity-framework,sql-order-by,iqueryable,Linq,Entity Framework,Sql Order By,Iqueryable,知道LINQ OrderBy在以下代码中不工作的原因吗(没有错误,但方法不排序…) 首先是我自己的类型 public class IQLinksView { public int id { get; set; } public int catid { get; set; } public int? viewed {get;set;} public string name {get;set;} public s
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;}
}
然后查询:
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 };
只是什么都不改变,。。。页面正在加载结果,显示。。。但是没有命令。。。嗅
我尝试过(创建比较器对象…):
同样的结果,没有排序
我确实有解决办法,但只是想知道遗漏了什么
任何建议都将不胜感激:-)不要丢弃返回值。
OrderBy
扩展方法不改变输入。尝试:
newView = newView.OrderBy(x => x.viewed);
假设所查看的值正确,没有理由认为这不起作用。此外,请确保OrderBy
是在任何会破坏订购的操作(例如Distinct
)之后进行的
快乐编码
如果结果是只读结果,请考虑在orderby()之后使用asnotracking()
例如:
query = query.OrderByDescending(x => x.Rating).AsNoTracking();
超级的!工作很好,没有想到回报,非常感谢,热爱这份工作;-)我的问题是我在一个不同的字段之前就有了它。我是按一个没有显示的字段排序的
newView = newView.OrderBy(x => x.viewed);
query = query.OrderByDescending(x => x.Rating).AsNoTracking();