2011-04-11 36 views
1

我已經開始出來的時候建立的LINQ查詢想要追加到這裏建立起來的末尾,從句條款幫助使用匿名類型

authors2.OrderBy(x => x.text).Select(x => new 
      { 
       authorText = string.Format("{0} ({1})",x.text, x.ItemAuthors.Count()) 
      }); 

要綁定像t他:

ddlAuthor.DataSource = authors2; 
      ddlAuthor.DataTextField = "authorText"; 
      ddlAuthor.DataBind(); 

顯然編譯器不是很高興我的選擇新語句。我如何重寫這個來實現相同的目標?我相信這被稱爲創建一個匿名類型。

它說存在明確的轉換(你是否缺少演員?)我無法弄清楚如何演員演員。

回答

1

在你的第三條語句,返回的類型不一樣authors2因爲項目選擇比作者等不同類型的

所以值賦給一個新變量

var authorsFinal = authors2 
        .OrderBy(x => x.text) 
        .Select(x => new 
        { 
         authorText = string.Format("{0} ({1})", 
               x.text, 
               x.ItemAuthors.Count()) 
        }); 
+0

感謝,這正是我在找什麼。 – 2011-04-11 17:42:13