从LINQ表中的10个字段中选择3个字段

mrJ*_*ack 0 .net c# linq-to-entities compiler-errors

我的查询:

public List<Book> GetAllBook()
{
    return (from c in this.LDEntities.Book
             select new
             {
                 c.IdBook,
                 c.NameBook,
                 c.Athour
             }).ToList();
}
Run Code Online (Sandbox Code Playgroud)

错误:

无法将类型'AnonymousType#1'隐式转换为'System.Collections.Generic.List

什么是正确的代码?

更新:我在分层架构中使用实体框架.

Tim*_*Tim 7

试试这个:

public List<Book> GetAllBook() {     

    var q = (from c in this.LDEntities.Book              
             select new Book() 
             { 
                 IdBook = c.IdBook, 
                 NameBook = c.NameBook, 
                 Athour = c.Athour }).ToList();     
    return (q); 
} 
Run Code Online (Sandbox Code Playgroud)

换句话说,创建Book类型的集合,而不是匿名类型的集合.