C# EF按嵌套元素分组并选择该元素的属性

C# EF按嵌套元素分组并选择该元素的属性,c#,entity-framework,group-by,C#,Entity Framework,Group By,我试图按公司和日期对约会进行分组(对于每个公司,我都有一个日期列表,每个日期都有约会计数)。 我的实体是这样的: class RendezVous { // properties.... Compagne Compagne { get; set; } } class Compagne { // properties string Nom { get; set; } 我的问题是: public static IEnumerable GetProgression(

我试图按公司和日期对约会进行分组(对于每个公司,我都有一个日期列表,每个日期都有约会计数)。
我的实体是这样的:

class RendezVous {
  // properties....
  Compagne Compagne { get; set; }
}
class Compagne {
  // properties
  string Nom { get; set; }
我的问题是:

        public static IEnumerable GetProgression()
        {
            var list = dbContext.RendezVous.GroupBy(o => new
            {
                Compagne = o.Compagne,
                Date = o.DateCreation
            }).Select(g => new
            {
                Compagne = g.Key.Compagne.Nom,
                Date = g.Key.Date,
                Total = g.Count()
            }).OrderByDescending(k => k.Date).ToList();
            return list;
        }
在这种情况下,错误为:

Column 'dbo.Compagne.Nom' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause.
当我执行GroupBy
Compagne=Compagne.Nom
选择Compagne=g.Key.Compagne.Nom
时,它工作正常,但是我可能有一些Compagne对象具有相同的Compagne.Name值。
请帮助

您想做什么,查询的预期结果是什么?我正在尝试按公司和日期对约会进行分组(对于每个公司,我都有一个日期列表,每个日期都有约会计数)你真的想从
GetProgression
方法返回一个包含匿名对象的非类型化
IEnumerable
吗?是的,你说这是犯罪:D@Fourat不,我不是。这只是很不寻常。因为除非您将它们动态化或序列化,否则您无法对它们进行太多处理。除了数一数有多少外:D