que tal amigos resulta que necesito ayuda con una consulta innerJoin, Group by y count en linq
tengo la siguiente estructura de tablas

ahora lo que necesito es hacer una consulta y que me arroje el siguiente resultado
NoLicitacion
|
Contratos
|
Claves
|
Registro 1
|
contar cuantos registros hay en la tabla(MtoContrato)
|
contar cuantos registros hay en la tabla(DetalleContrato)
agrupado por el campo(gpo,gen,esp),
|
estoy intanto la siguiente consulta linq, pero no me cuentra las agrupaciones de la ultima tabla.
var results = from d in MtoProcedimiento
from m in MtoContrato.Where(m => m.MtoProcedimientoId == d.MtoProcedimientoId)
from a in DetalleContrato.Where(a => a.MtoContratoId == m.MtoContratoId).DefaultIfEmpty()
//where d.DirectorID == 1
group new { d, m, a } by d.MtoProcedimientoId into grp
select new
{
DirectorName = grp.Key,
MovieCount = grp.Select(x => x.m).Distinct().Count(),
ActorCount = grp.Select(d => d.a).Distinct().Count()
};
results.Dump();
podrian echarme una mano o decirme cual podría ser la solución, muchas gracias como siempre
Horacio Xochitemol Bautista