Задать вопрос
@ARezvanov

Как из метода SqlQuery, вернуть весь набор данных?

Доброго всем времени суток!
Разбираюсь с web api 2.

Ниже метод, который возвращает в формате JSON данные из БД таблицы, Books. Но возвращает только 1 строку, что очевидно, благодаря FirstOrDefaultAsync().
namespace BookingAapp.Controllers
{
    public class ValuesController : ApiController
    { ...    

public async Task<Book> GetBook(int id)
        {
            //Book book = db.Books.Find(id);

            string query = "SELECT * FROM Books WHERE Id > @p0";
            Book book = await db.Books.SqlQuery(query, id).FirstOrDefaultAsync();                       
            return book;
        }
...
}

А вот как вернуть весь набор данных, а не только первую строку? Что-то ни как не разберусь.
Помогите кто знает.
  • Вопрос задан
  • 3009 просмотров
Подписаться 2 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 2
@ARezvanov Автор вопроса
Отвечаю сам.
Немного переписал код, теперь возвращает весь набор данных
// GET api/values/5
        public IEnumerable<Book> GetBook(int id)
        {
            DbRawSqlQuery<Book> book = db.Database.SqlQuery<Book>("select * from Books where id >@p0", id);
            return book;
        }
Ответ написан
Комментировать
@Gilga
public IEnumerable<Book> GetBooks(int id)
        {
            var books = db.Books.Where(x => x.BookId > id).ToList();                       
            return books;
        }
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы