2016-08-18 52 views
0

我有一些數據,類似這樣的實體框架中使用組返回模型和統計

Email Date  Id 
Anne 1/1/00  1 
Anne 1/2/00  2 
Anne 1/4/00  3 
Bert 1/4/00  4 
Bert 1/5/00  5 

我想從上面返回以下2個結果弄成

List<Model, Count> 

凡模型與電子郵件和日期(最近日期)屬性和計數類是總數

var m = (from e in emailOpens 
         group e by e.EmailAddress into g 
         select new 
         { 
          Model = g.Key, 
          Occurance = g.Count() 
         }).ToList(); 

ŧ他的問題是,上面將返回唯一的電子郵件地址,但我更改組語句

group e by e into g 

話,自然沒有什麼好算的,所以我的分身屬性仍爲0

缺少什麼我在這裏?

+0

你希望得到的型號是什麼?例如* Bert *發送了兩封電子郵件,其中包含不同的'Id'和不同'日期',您期望得到哪一個? –

+0

@AdilMammadov,對不起,我的一部分是愚蠢的錯誤。我已經做了編輯,使其正確。我不需要使用ID。爲了清楚起見,我在最近(按日期)和計數之後 – MyDaftQuestions

回答

1

你缺少只需一個語句:

var m = (from e in emailOpens 
         group e by e.EmailAddress into g 
         select new 
         { 
          Model = new 
          { 
          Email = g.Key, 
          // Select maximum date from group 
          MostRecentDate = g.Max(m => m.Date) 
          },        
          Occurance = g.Count() 
         }).ToList();