Я создал простой контроллер API и добавил в него следующий метод:
public IQueryable<tbl_Book> GetBooks()
{
//AspNetUser user = new AspNetUser();
return _context.tbl_Book;
}
, а затем я создал контроллер MVC для использования этого API следующим образом:
public ActionResult Index()
{
IEnumerable<tbl_Book> books = null;
using (var client = new HttpClient())
{
client.BaseAddress = new Uri("http://localhost:57368/api/");
var responseTask = client.GetAsync("Admin");
responseTask.Wait();
var result = responseTask.Result;
if(result.IsSuccessStatusCode)
{
var readTask = result.Content.ReadAsAsync<IEnumerable<tbl_Book>>();
readTask.Wait();
books = readTask.Result;
}
else
{
ModelState.AddModelError(string.Empty, "Error occured while fetching data from api");
}
}
return View(books);
}
он работает просто отлично и дает результат, но я хочу получить данные из двух таблиц, которые являются tbl_Categories и AspNetusers, которые я делаю так:
public IQueryable<tbl_Book> GetBooks()
{
//AspNetUser user = new AspNetUser();
return _context.tbl_Book.Include(x=>x.AspNetUser).Include(x=>x.tbl_Category);
}
модель книги имеет внешние ключи от tbl_Categories и AspNetUsers, но когда япопытайтесь использовать этот выше API с включенными функциями, это даст нулевой результат.