2011-07-22 54 views
0

組後我有一個Collection<IStatements> statements具有智能感知在LINQ投影由

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 
            }; 

回答

0

msStatement將是一個分組的IStatements,而不是一個單一的IStatements。所以,你可以做兩件事情吧:

  • 獲取Key屬性(這將是賬單日)
  • 獲取該組中的內容(將各自爲IStatements

儘管如此,你還不清楚你想用多個IStatements來做什麼。

您還沒有得到dStatementDate的原因是因爲您正在使用查詢延續;唯一剩下的就是分組。幸運的是,在這裏無關緊要,因爲您可以從關鍵字獲取聲明日期;你可以完全刪除你的「let」子句。

+0

我已編輯我的帖子現在清楚了嗎? – Snehal