【发布时间】:2014-03-29 19:39:34
【问题描述】:
我在一个使用 LINQ 投影返回 IENumerable Colection 的类中有这个简单的函数:
public IEnumerable<Pedidos> Pedidos_Listar(string sComprobante, Clientes MyCliente = null, DateTime? dDesde = null, DateTime? dHasta = null, bool bCumplidos = false)
{
using (var context = new OhmioEntities())
{
return
(from Pedidos in context.Pedidos
join Clientes in context.Clientes on Pedidos.ID_Cliente equals Clientes.ID_Cliente
where Pedidos.ID_Comprobante == sComprobante
select Pedidos).ToList();
}
}
谁能告诉我为什么 IEnumerable 的字段按字母顺序而不是原始对象定义返回?以及如何按特定顺序返回成员?谢谢
更新 对不起,如果我的问题不清楚。我会尽力解释我的问题。 Pedidos 类(它实际上是一个从 EF 生成的 POCOs 类)具有如下一些属性:
public class Pedidos
{
public virtual int ID_Pedido { get; set; }
public virtual int Numero { get; set; }
public virtual DateTime Fecha { get; set; }
public virtual DateTime FechaEntrega { get; set; }
public virtual string Cliente { get; set; }
public virtual Decimal Bruto { get; set; }
public virtual Decimal Neto { get; set; }
public virtual Boolean Aprobado { get; set; }
public virtual string Observaciones { get; set; }
public virtual Boolean Entregado { get; set; }
}
我的订单问题与类内的数据无关,因此 ORDER 建议并不能解决我的问题。这是关于属性的顺序。当我使用 ToList() 填充此类时,我按字母顺序(Aprobado、Bruto 等)而不是类顺序的定义(ID_Pedido、Numero 等)获得属性。字段名称的语言在这里无关紧要。希望这能清楚我的答案。
当我尝试通过数据网格在客户端上显示数据时:
正如您在这两种情况下看到的,属性属性以字母顺序显示,而不是类顺序。为什么?
【问题讨论】:
-
1. Luck(?) 2. 按顺序使用
-
字母顺序是什么?我们根本不知道
Pedidos是什么......你所说的“IEnumerable 的字段”是什么意思?您的问题目前尚不清楚。 -
@ercpap 将代码翻译成英文是有意义的,以获得更好的答案...
-
你的意思是“属性是有序的”?您如何显示属性的顺序?
-
这就是 Visual Studio 显示数据的方式。在调试会话期间,成员始终按字母顺序显示。
标签: c# linq ienumerable