How to get data in many to many relationship and return AsQueryable in Entity Framework

Viewed 22

How I can get book AsQueryable with category name in bookParams?

It can be implemented in any way as long as it returns AsQueryable to I can do pagination.

Thanks for any help.

BookService.cs

public async Task<PagedList<Book>> GetBooksAsync(BookParams bookParams)
{ 
    var query = repository.context.Books.AsQueryable();
            
    // query to get books with category name
    return await PagedList<Book>.CreateAsync(query, bookParams.pageNumber, bookParams.pageSize);
}

Book.cs

public class Book: IEntity
{
    public int Id { get; set; }
    public string Title { get; set; }

    public virtual ICollection<BookCategory> BookCategories { get; set; }
}

Category.cs

public class Category: IEntity
{
    public int Id { get; set; }
    public string Name { get; set; }

    public virtual List<BookCategory> BookCategories { get; set; }
}

BookCategory.cs

public class BookCategory: IEntity
{
    public int Id { get; set; }

    public int BookId { get; set; }
    public virtual Book Book { get; set; }

    public int CategoryId { get; set; }
    public virtual Category Category { get; set; }
}
0 Answers
Related