Я создаю веб-приложение с Razor Pages.У меня есть 2 модели с отношением один ко многим: одна List
может содержать много Records
.
public class List
{
public int ID { get; set; }
[StringLength(25, MinimumLength = 3, ErrorMessage = "Title should be in range between 3 and 25")]
[Display(Name = "Title")]
public string Caption { get; set; }
public string UserId { get; set; }
public User User { get; set; }
public ICollection<Record> Records { get; set; }
}
public class Record
{
public int ID { get; set; }
[StringLength(25, MinimumLength = 3, ErrorMessage = "Word should be in range between 3 and 25")]
[Display(Name = "Title")]
public string Word { get; set; }
[StringLength(30, MinimumLength = 3, ErrorMessage = "Translation should be in range between 3 and 30")]
public string Translation { get; set; }
public int ListId { get; set; }
public List List { get; set; }
}
Мне нужно аналогичным образом перейти от элемента List
к списку Record
как это возможно в веб-API или в MVC.В документации Microsoft я нашел страницу о атрибутах в Web Api , о том, что мне нужно:
[Route("customers/{customerId}/orders")]
public IEnumerable<Order> GetOrdersByCustomer(int customerId) { ... }
Мне нужно что-то вроде этого:
[Microsoft.AspNetCore.Mvc.Route("Lists/{listId}/Records")]
public async Task GetRecordsByList(int listId)
{
var allRecords = await _context.Record.ToListAsync();
Record = allRecords.Where(w => w.ListId == listId).ToList() ;
}
IЯ уверен, что возможно обеспечить навигацию от родительской модели List
к дочерним элементам. Список Record
.
Интерфейс будет выглядеть следующим образом: Из списков
Перейдите к записям:
Желаемый URL должен быть таким:
Я уверен, что кто-то сталкивался с той же проблемой и исправил ее!Буду очень признателен за любую помощь или совет.