我有一组试图排序的 ViewModel 对象。
这是我的 ViewModel 类的缩写视图:
public class BookIndexFormViewModel
{
//Properties
public Book Book { get; set; }
//Constructor
public BookIndexFormViewModel(Book book)
{
Book = book;
}
这是我的存储库中实例化我的集合的方法:
public IQueryable<BookIndexFormViewModel> GetAllBooks()
{
return db.Books.Select(b => new BookIndexFormViewModel(b));
}
这是我尝试订购集合的简略视图,这会导致异常。
var books = _bookRepository.GetAllBooks();
books.OrderBy(x => x.Book.Name);
这是抛出的异常:
The member 'TheBibliophile.Controllers.BookIndexFormViewModel.Book' has no supported translation to SQL.
我被这个难住了。当我收到此异常时,我不会尝试调用方法,就像我在网上看到的大多数情况一样。我只是想按我的 ViewModel 中的属性进行排序。有小费吗?