私は次のようなlinqを持っています。たとえば、2000年の製品(CajasDia
)を持っている日の開始時など、正午私はわずか500製品(CajasDia
)、このlinqは私にその日の製品の変更の完全なリストを与えている、私は変更された製品(500のみ)の最後のレコードを欲しいグループ内の複数の値を返すLinqは最後に変更する必要があります
これは3つのテーブルProducto
(製品)、ProductoSubRegion
およびSubRegion
は、地域に含まれる製品が多く、地域には多くの製品が含まれています。
これは、テーブル間の関係である: Producto
1 .. * ProductoSubRegion
* .. 1 SubRegion
List<ProductoAgr> _productos =
(from p in db.ProductoSubRegion.Include("Producto")
orderby p.Fecha descending
where p.SubRegion.IDSubRegion.Equals(
(from c in db.Cliente
join v in db.Vendedor
on c.IDVendedor equals v.IDVendedor
where c.IDCliente.Equals(_IDCliente)
select c.Vendedor.SubRegion.IDSubRegion).FirstOrDefault()) &&
(p.Fecha >= today && p.Fecha < tomorrow)
group p by new
{
p.Producto.IDProducto,
p.Producto.Nombre,
p.Producto.Precio,
p.Producto.Descripcion,
NombreProducto = p.Producto.TipoProducto.Nombre,
p.Fecha,
p.CajasDia
} into ps
select new ProductoAgr()
{
IDProducto = ps.Key.IDProducto,
Nombre = ps.Key.Nombre,
Precio = ps.Key.Precio,
Descripcion = ps.Key.Descripcion,
NombreProducto = ps.Key.NombreProducto,
CajasDia = ps.Key.CajasDia,
Fecha = ps.Key.Fecha
}).ToList();
return View(_productos);
これは私が、私は1つのレコードのみ、1496年の値を取得する必要がありそうだものです製品1
は私が異なった値 'p.Fecha'と' p.CajasDia'を推測...
主な違いは、私が
orderby
使用場所ですが、私は答えを見つけることができませんでした「重複」行 –私はあなたに従っていませんが、 'p.CajasDia'のレコードは1つだけです。これは' p.Fecha'を注文して最後に変更したものを入手したいのですが... – Luis
ああ、私はそれを持っています'p.Fecha'と' p.CajasDia'を 'groupby'から削除しましたが、今は最初のレコードだけを取得しています。最後のものではなく、orderbyが動作していないようです... – Luis