简单的LINQ命令不工作

时间:2014-04-14 15:42:34

标签: c# linq

我是LINQ的新手。我正在使用这个功能:

public IEnumerable<Vendedores> GetVendedores()
    {
        using (var context = new OhmioEntities())
        {
            Vendedores _allvendors= new Vendedores();
            _allvendors.Nombre = "All Vendors";
            _allvendors.ID_Vendedor = -1;
            var query = context.Vendedores;
            var _vendors= query.Where(f => f.Activo == true).OrderBy(o=>Nombre).ToList();                                    
            _vendors.Insert(0, _allvendors);
            return _vendors;
        }
    }

它应该给我活跃供应商的订单清单。 where部分工作正常,但忽略顺序,.ToList之后的记录是原始表顺序。我做错了什么? 谢谢!

2 个答案:

答案 0 :(得分:10)

我认为您需要o.Nombre而不是Nombre

var _vendors = query
              .Where(f => f.Activo)
              .OrderBy(o=> o.Nombre)
              .ToList();          

f => f.Activo == true也可以写为f => f.Activo

答案 1 :(得分:2)

它应该是这样的:

var _vendors= query.Where(f => f.Activo == true).OrderBy(o=>o.Nombre).ToList();