分组后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”条款