Вы не конвертируете в Book
экземпляр. Вам нужно сделать что-то вроде этого:
from c in LDEntities.Book
select new Book { /* Your Properties to Set */ }
То, что вы пытаетесь сделать, это вернуть анонимный объект в качестве возвращаемого типа. Поэтому он пытается преобразовать List<a'>
в List<Book>
, и между ними нет никакой связи.
Если вы хотите, чтобы возвращался только анонимный объект, вам необходимо абстрагировать логику и сделать метод универсальным:
public List<T> GetAllBook<T>(Func<Book, T> transformer)
{
return LDEntities.Book.Select(transformer).ToList();
}
И тогда вы можете назвать код так:
var myObjects = GetAllBook(x => new { c.IdBook, c.NameBook, c.Athour });