public async Task <ActionResult <Publisher> > GetPublisherDetail(int id) { // eager loading //var publisher = _context.Publishers // .Include(pub => pub.Books) // .ThenInclude(book => book.Sales) // .Include(pub => pub.Users) // .ThenInclude(user => user.Job) // .Where(p => p.PubId == id) // .FirstOrDefault(); // Explicit Loading var publisher = await _context.Publishers.SingleAsync(pub => pub.PubId == id); _context.Entry(publisher) .Collection(pub => pub.Users) .Query() .Where(usr => usr.FirstName.Equals("Mary")) .Load(); _context.Entry(publisher) .Collection(pub => pub.Books) .Query() .Include(book => book.Sales) .Load(); if (publisher == null) { return(NotFound()); } return(publisher); }
public async Task <ActionResult <Publisher> > GetPublisherDetals(int id) { //***Eager Loading //var publisher = _context.Publisher // .Include(pub => pub.Book) // .ThenInclude(book => book.Sale) // .Include(pub => pub.User) // .ThenInclude(user => user.Job) // .Where(pub => pub.PubId == id) // .FirstOrDefault(); //**Explicit Loading var publisher = await _context.Publisher.SingleAsync(pub => pub.PubId == id); _context.Entry(publisher) .Collection(pub => pub.User) .Query() .Where(user => user.EmailAddress.Contains("karin")) .Load(); _context.Entry(publisher) .Collection(pub => pub.Book) .Query() .Include(book => book.Sale) .Load(); if (publisher == null) { return(NotFound()); } return(publisher); }
public async Task <ActionResult <Publisher> > GetPublisherDetails(string PublisherId) { //Eager Loading //var publisher = await _context.Publishers // .Include(pub => pub.Users) // .Include(pub => pub.Books) // .ThenInclude(book => book.Sales) // .Where(pub => pub.PubId == id) // .FirstOrDefaultAsync(); //Explicit Loading var publisher = await _context.Publishers.SingleAsync(pub => pub.PubId == Convert.ToInt32(PublisherId)); _context.Entry(publisher) .Collection(pub => pub.Users) .Query() .Where(usr => usr.EmailAddress.Contains("karin")) .Load(); _context.Entry(publisher) .Collection(pub => pub.Books) .Query() .Include(book => book.Sales) .Load(); if (publisher == null) { return(NotFound()); } return(publisher); }
public async Task <ActionResult <Publisher> > GetPublisherDetails(int id) { //Eager loading //var publisher = _context.Publishers // .Include(pub => pub.Books) // .ThenInclude(books => books.Sales) // .Include(pub => pub.Users) // .Where(pub => pub.PubId == id) // .FirstOrDefault(); //Explicit loading //we can add where condition on related objects var publisher = await _context.Publishers.SingleAsync(pub => pub.PubId == id); _context.Entry(publisher) .Collection(pub => pub.Users) .Query() .Where(user => user.JobId > 12) .Load(); _context.Entry(publisher) .Collection(pub => pub.Books) .Query() .Include(book => book.Sales) .Load(); if (publisher == null) { return(NotFound()); } return(publisher); }
public async Task <ActionResult <Publisher> > GetPublisherDetails(int id) { // Eager loading /*var publisher = _context.Publisher * .Include(pub => pub.Book) * .ThenInclude(book => book.Sale) * .Include(pub => pub.User) * .ThenInclude(user => user.Role) * .Where(pub => pub.PubId == id) * .FirstOrDefault(); */ // Excplicit loading var publisher = await _context.Publisher.SingleAsync(pub => pub.PubId == id); // getting publisher users /*_context.Entry(publisher) * .Collection(pub => pub.User) * .Load();*/ // getting a particular user _context.Entry(publisher) .Collection(pub => pub.User) .Query() .Where(usr => usr.EmailAddress.Contains("Karin")) .Load(); // Getting books /* _context.Entry(publisher) * .Collection(pub => pub.Book) * .Load();*/ // Getting books and sales _context.Entry(publisher) .Collection(pub => pub.Book) .Query() .Include(book => book.Sale) .Load(); var user = await _context.User.SingleAsync(usr => usr.UserId == 1); _context.Entry(user) .Reference(usr => usr.Role) .Load(); if (publisher == null) { return(NotFound()); } return(publisher); }
public async Task <IActionResult> PutPublisher(int id, Publisher publisher) { if (id != publisher.PubId) { return(BadRequest()); } _context.Entry(publisher).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!PublisherExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
public async Task <IActionResult> PutStore(string id, Store store) { if (id != store.StoreId) { return(BadRequest()); } _context.Entry(store).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!StoreExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
public async Task <IActionResult> PutBook([FromRoute] int id, [FromBody] Book book) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != book.BookId) { return(BadRequest()); } _context.Entry(book).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!BookExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
public async Task <IActionResult> PutRole(short id, Role role) { if (id != role.RoleId) { return(BadRequest()); } _context.Entry(role).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!RoleExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
public async Task <IActionResult> PutJob(short id, Job job) { if (id != job.JobId) { return(BadRequest()); } _context.Entry(job).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!JobExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
public async Task <IActionResult> PutBookAuthor(int id, BookAuthor bookAuthor) { if (id != bookAuthor.AuthorId) { return(BadRequest()); } _context.Entry(bookAuthor).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!BookAuthorExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
public async Task <ActionResult <Publisher> > GetPublisherDetails(int id) { var publisher = await _context.Publishers.SingleAsync(pub => pub.PubId == id); _context.Entry(publisher) .Collection(pub => pub.Users) .Query() .Where(user => user.EmailAddress.Contains("karin")) .Load(); _context.Entry(publisher) .Collection(pub => pub.Books) .Query() .Include(book => book.Sales) .Load(); // var user = _context.Users.SingleAsync(usr => usr.UserId == 1); return(publisher); }
public async Task <ActionResult <Publisher> > GetPublisherExplicit(int id) { var publisher = await _context.Publishers.SingleAsync(p => p.PubId == id); _context.Entry(publisher) .Collection(p => p.Users) .Query() .Where(u => u.FirstName.Contains("Karin")) .Load(); _context.Entry(publisher) .Collection(p => p.Books) .Query() .Include(b => b.Sales) .Load(); if (publisher == null) { return(NotFound()); } return(publisher); }
public async Task <ActionResult <Publisher> > GetPublisherDetails(int id) { //var publisher = _context.Publishers // .Include(pub => pub.Books) // .ThenInclude(book => book.Sales) // .Include(pub => pub.Users) // .Where(pub => pub.PubId == id) // .FirstOrDefault(); var publisher = await _context.Publishers.SingleAsync(pub => pub.PubId == id); _context.Entry(publisher) .Collection(pub => pub.Users) .Query() .Where(usr => usr.EmailAddress.Contains("karin")) .Load(); _context.Entry(publisher) .Collection(pub => pub.Books) .Query() .Include(book => book.Sales) .Load(); var user = await _context.Users.SingleAsync(usr => usr.UserId == 1); _context.Entry(user) .Reference(usr => usr.Role) .Load(); if (publisher == null) { return(NotFound()); } return(publisher); }