分组后linq投影中的智能感知

分组后linq投影中的智能感知,linq,group-by,linq-to-objects,projection,Linq,Group By,Linq To Objects,Projection,我有一个集合语句,它 public interface IStatements { IDocuments Documents { get; set; } string StatementDate { get; set; } } public class Documents : IDocuments { public string Date { get; set; } public string Url { get; set; } } 我想在StatementD

我有一个
集合语句
,它

public interface IStatements
{
    IDocuments Documents { get; set; }
    string StatementDate { get; set; }
} 
public class Documents : IDocuments
{
    public string Date { get; set; }
    public string Url { get; set; }
}
我想在StatementDate上执行分组,然后进行投影。 当预测团队是否有一份以上的声明时,我想将他们的声明日期合并为1。问题是我在groupby之后没有智能感知

 var monthlyStatements = from mStatement in statements
             orderby mStatement.StatementDate descending
             group mStatement by mStatement.StatementDate;
我尝试了以下代码

var monthlyStatements = from mStatement in statements
           orderby mStatement.StatementDate descending
           group mStatement by mStatement.StatementDate
                   into msStatement
                         select new 
                                  {
                                   StatementDate = 
                                    mStatement.Documents.Date.,//no Intellisense 
                                  };

mstatement
将是一组
IStatements
,而不是单个
IStatements
。所以你可以用它做两件事:

  • 获取
    属性(将是语句日期)
  • 获取组的内容(每个组都是
    IStatements
不过,对于多个
iStatement
您想做什么还不是很清楚

您再也没有
dStatementDate
的原因是因为您使用的是查询延续;唯一剩下的就是分组。幸运的是,它在这里无关紧要,因为您可以从键中获取语句日期;你可以完全删除你的“let”条款