У меня есть несколько запросов linq, которые извлекают одни и те же данные только на разных уровнях группировки. (потенциально 3 разных уровня). Запрос linq в настоящее время приводит к перечисляемому списку настраиваемого объекта. Элементы, которые я не понимаю или не понимаю, если это возможно (для сокращения избыточного кода):динамическая группа linq по предложению
Могу ли я сделать следующее предложение group by for dynamic? Если это так, может ли он динамически заполнять мои данные пользовательской группы объектов, когда он сгруппирован на этом уровне.
Например:
var myReport_GroupProductLevel =
from r in mySum_GroupProductLevel
join pc in _myPlotCount on r.Strata equals pc.Strata
join acr in _myStrataAcres on pc.Strata equals acr.Strata
group new { r, pc, acr } by new { r.Strata, pc.Count, acr.Acres, r.GroupName, r.ProductName } into g
select new DataSummary
{
Strata = g.Key.Strata,
PlotCount = g.Key.Count,
Acres = g.Key.Acres,
ClassName = string.Empty,
GroupName = g.Key.GroupName,
ProductName = g.Key.ProductName,
TPAMEAN = g.Sum(x => x.r.TPA/x.pc.Count),
TPADEV = g.Select(x => x.r.TPA).StdDev(g.Key.Count)
};
Если бы я хотел, чтобы группа только «ИмяГруппы» вместо того, чтобы ... Я бы переписать запрос. Проблемы, которые я вижу, являются, если я группирую значение, тогда мне нужно это значение в запросе (g.Key.GroupName); но поскольку я создаю новый пользовательский объект, другие негрупповые значения, такие как «ClassName», требуют значения (я использовал string.Empty выше, но это статический).
Спасибо за любой проницательности ...
Благодарим вас за продолжение. – SixOThree