Я работаю над созданием школьной библиотеки для проекта.Я новичок в среде ASP.NET MVC.Моя проблема в том, что мне нужно отображать авторов для каждой из книг.Были опубликованы три модели: книги, авторы, создатели.В модели авторов делается ссылка на таблицы Books и Creator.Я остановился в тот момент, когда мне нужно отобразить всех создателей данной книги.Как отобразить название книги с несколькими авторами?Можете ли вы дать мне несколько советов о том, как я могу это сделать?
Autorzy Model
namespace WSzkola5.Models
{
public class Autorzy
{
public int Id { get; set; }
public Ksiazka Ksiazka { get; set; }
[Display(Name = "Książka")]
public int KsiazkaId { get; set; }
public Tworca Tworca { get; set; }
public int TworcaId { get; set; }
}
}
Ksiazka Model
namespace WSzkola5.Models
{
public class Ksiazka
{
public int Id { get; set; }
[Required(ErrorMessage = "Tytuł jest wymagany.")]
[Display(Name = "Tytuł:")]
[MaxLength(255, ErrorMessage = "Tytuł jest zbyt długa nazwa.")]
public string Tytul { get; set; }
[Required(ErrorMessage = "UKD jest wymagany.")]
[Display(Name = "UKD:")]
[MaxLength(50, ErrorMessage = "UKD jest zbyt długi.")]
public string UKD { get; set; }
[Required(ErrorMessage = "Opis jest wymagany.")]
[Display(Name = "Opis:")]
public string Opis { get; set; }
}
}
Tworca Model
namespace WSzkola5.Models
{
public class Tworca
{
public int Id { get; set; }
[Required(ErrorMessage = "Imię jest wymagane.")]
[Display(Name = "Imię:")]
[MaxLength(50, ErrorMessage = "Zbyt długa nazwa.")]
public string Imie { get; set; }
[Required(ErrorMessage = "Nazwisko jest wymagane.")]
[Display(Name = "Nazwisko:")]
[MaxLength(100, ErrorMessage = "Zbyt długa nazwa.")]
public string Nazwisko { get; set; }
}
}
Autorzy Controller - Индекс Действие
public ActionResult Index()
{
var autorzy = _context.Autorzys.Include(c => c.Ksiazka).Include(c => c.Tworca).ToList();
return View(autorzy);
}
Autorzy View - Индекс
@model IEnumerable<WSzkola5.Models.Autorzy>
@{
ViewBag.Title = "Index";
Layout = "~/Views/Shared/_Layout.cshtml";
}
<h2>Książki</h2>
@if (!Model.Any())
{
<p>
Brak.
</p>
}
else
{<table class="table table-condensed">
<thead>
<th>Książki</th>
<th>UKD</th>
<th>Autor</th>
</thead>
<tbody>
@foreach (var autorzy in Model)
{
<tr>
<td>@autorzy.Ksiazka.Tytul</td>
<td>@autorzy.Ksiazka.UKD</td>
<td>@autorzy.Tworca.Imie @autorzy.Tworca.Nazwisko </td>
</tr>
}
</tbody>
</table>
}
И ViewModel
namespace WSzkola5.ViewModel
{
public class AutorzyViewModel
{
public IEnumerable<Tworca> Tworcas { get; set; }
public IEnumerable<Ksiazka> Ksiazkas { get; set; }
public Autorzy Autorzy { get; set; }
}
}