按子句排序无法正常工作
本文关键字:工作 常工作 子句 排序 | 更新日期: 2023-09-27 18:36:09
LINQ- 我已经使用逐个子句的顺序升序来获取数据库中可用的所有状态,但它不起作用。这是代码:
public List<State> GetAllStates()
{
List<State> p;
p = (from a in _db.ProductImageMaps
where a.State != "" && a.State != null
select new State
{
Name = a.State
}).OrderBy(a=>a.Name).Distinct().ToList();
return p;
}
By Design Disitnct 返回源中唯一项的无序序列。
因此,当您在按子句排序后调用 Distinct 时,您将丢失所追求的序列。其次,在 Distinct 之后调用 OrderBy 对我来说更有意义,因为仅订购 Distinct 记录会更有效。
像这样做
public List<State> GetAllStates()
{
List<State> p;
p = (from a in _db.ProductImageMaps
where a.State != "" && a.State != null
select new State
{
Name = a.State
}).Distinct().OrderBy(a=>a.Name).ToList();
return p;
}