2016-02-12 105 views
1

我想創建查詢,檢索電子郵件和用戶,我想使用聚合函數讓所有用戶在一個字段中具有相同的電子郵件。 我的查詢給我一個錯誤的關鍵字作爲無法隱式轉換類型「AnonymousType#1」到「AnonymousType#2」LINQ分組與聚合

這裏是代碼。

var Users = from usr in 
      (from au in _lldat.aspnet_Users 
        join am in _lldat.aspnet_Membership on au.UserId equals am.UserId 
        select new { au.UserName, am.LoweredEmail }) 
      group usr by new { usr.LoweredEmail } into grp 
      select new { 
          uEMail = grp.Key, 
          uName = grp.Aggregate((a, b) => new { LoweredEmail = a.LoweredEmail, UserName = (a.UserName + ", " + b.UserName + ", ") }).UserName 
         }; 

我沒有看到我做錯了什麼。任何幫助將受到高度讚賞。

+0

我試圖刪除它,它並沒有幫助。錯誤保持不變。 – yrluc

回答

0

嘗試切換關鍵字中的參數。 這將是這樣的:

var Users = from usr in 
      (from au in _lldat.aspnet_Users 
        join am in _lldat.aspnet_Membership on au.UserId equals am.UserId 
        select new { au.UserName, am.LoweredEmail }) 
      group usr by new { usr.LoweredEmail } into grp 
      select new { 
          uEMail = grp.Key, 
          uName = grp.Aggregate((a, b) => new {UserName = (a.UserName + ", " + b.UserName + ", "), LoweredEmail = a.LoweredEmail }).UserName 
         }; 
+0

這個開關有訣竅 – yrluc