2011-04-11 72 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