Intellisense в проекции linq после группировки по - PullRequest
0 голосов
/ 22 июля 2011

У меня есть Collection<IStatements> statements, который имеет

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. Проблема в том, что я не получаю Intellisense после 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 
                                  };

1 Ответ

0 голосов
/ 22 июля 2011

msStatement будет группировкой из IStatements, а не одиночной IStatements.Таким образом, вы можете сделать с ним две вещи:

  • Получить свойство Key (которое будет датой выписки)
  • Получить содержимое группы (каждое из которых будетIStatements)

Не совсем понятно, что вы пытаетесь сделать с кратным IStatements.

Причина, по которой у вас больше нет dStatementDateпотому что вы используете продолжение запроса;осталось только группировка.К счастью, это не имеет значения, поскольку вы можете получить дату выписки из ключа;Вы можете полностью удалить предложение "let".

...