Tengo una consulta que combina un join y un grupo, pero tengo un problema. La consulta es como:LINQ: combine join y group por
var result = from p in Products
join bp in BaseProducts on p.BaseProductId equals bp.Id
group p by p.SomeId into pg
select new ProductPriceMinMax {
SomeId = pg.FirstOrDefault().SomeId,
CountryCode = pg.FirstOrDefault().CountryCode,
MinPrice = pg.Min(m => m.Price),
MaxPrice = pg.Max(m => m.Price),
BaseProductName = bp.Name <------ can't use bp.
};
Como se ve, se une a la mesa de los productos con la tabla BaseProducts y grupos en un id de la tabla del producto. Pero en el ProductPriceMinMax resultante, también necesito una propiedad de la tabla BaseProducts: bp.Name, pero no sabe bp.
¿Alguna idea de lo que estoy haciendo mal?
Gracias!
Esto es mejor que nuestra solución :) Gracias. –
mire http://stackoverflow.com/a/2877012/1923685 –
@AakashM Gracias. Pero estoy obteniendo un problema con groupVariable.FirstOrDefault(). Column_name. Cuando voy a acceder a la variable IQueryable Result, se produce el error cuyo encabezado es ** "entitycommandexecutionexception no fue manejado por el código de usuario" ** con cuerpo *** "Ocurrió un error al ejecutar la definición del comando. Consulte la excepción interna para obtener detalles . "*** No puedo entender lo que está sucediendo. –