我有三个这样的对象:
public class MontoAPagar {
public int IdComprobante {
get;
set;
}
public int IdMovimiento {
get;
set;
}
public decimal Monto {
get;
set;
}
protected MontoAPagar(int idComprobante, int idMovimiento, decimal monto) {
IdComprobante = idComprobante;
IdMovimiento = idMovimiento;
Monto = monto;
}
protected MontoAPagar() {}
}
public class PagoInfoDBO: MontoAPagar {
public int IdPago {
get;
set;
}
public PagoInfoDBO(): base() {}
public PagoInfoDBO(int idPago, int idComprobante, int idMovimiento, decimal monto): base(idComprobante, idMovimiento, monto) {
IdPago = idPago;
}
}
public class ComprobanteMontoDBO: MontoAPagar {
public TipoComprobante TipoDeComprobante {
get;
set;
}
public ComprobanteMontoDBO(TipoComprobante tipoDeComprobante, int idComprobante, int idMovimiento, decimal monto): base(idComprobante, idMovimiento, monto) {
TipoDeComprobante = tipoDeComprobante;
}
public ComprobanteMontoDBO() {}
}
然后我有一个方法需要两个列表List<PagoInfoDBO> pagos
和List<ComprobanteMontoDBO> montosDebitoCredito
,它们对另一个对这个问题无关紧要的对象执行一些计算。
我需要做的是通过属性pagos
然后排序<montosDebitoCredito
和IdComprobante
以及首先... 组它们/ strong>按IdMovimiento
属性分组列表。
我怎样才能实现这个目标?
答案 0 :(得分:0)
试一试,看看它是如何运作的:
List<B> listB;
List<C> listC;
List<A> concatList = new List<A>();
concatList.AddRange(listB);
concatList.AddRange(listC);
List<A> orderedList = concatList.OrderBy(prop => prop.ID).ThenBy(prop => prop.AnotherID).ToList();
取决于你的意思完全取决于我猜...
答案 1 :(得分:0)
var result = (from b in listB
join c listC on b.id equals c.id into group
from g in group.DefaultIdEmpty()
select
g.AnotherId,
b.somefield,
c.anotherfield
).OrderBy(x = > x.AnotherId)
修改强>
var result = (from p in pagos
join m montosDebitoCredito on p.IdComprobante equals m.IdComprobante into group
from g in group.DefaultIdEmpty()
select g
).OrderBy(x = > x.IdMovimiento)
答案 2 :(得分:0)
你的意思是这样的吗?
false