Я не могу заполнить данные в своем веб-приложении и не знаю, в чем проблема. Приложение работает нормально, и пользователь может добавлять данные в базу данных. Я добавил метод saveChanges, но результатов нет. Я думаю, что отправляю нулевые данные в базу данных, но не могу найти проблему.
Мои файлы:
DbContext
public class BookDbContext: DbContext
{
public BookDbContext(DbContextOptions options): base(options)
{
}
public DbSet<Books> Books { get; set; }
}
SeedBooks
public static void Initialize(BookDbContext context)
{
context.Database.EnsureCreated();
if (context.Books.Any())
{
return;
}
var books = new Books[]
{
new Books{Id=1, Title ="Kont of Mount Cristos", Description="About eghteen century", Author="Don Mon", Category=Category.aksion},
new Books{Id=2, Title="Introduction in C Sharp", Description="Learning computer programing", Author="Scott Allen", Category= Category.education},
new Books{Id=3, Title="The Castle", Description="Learning about history", Author="Ismail Kadare", Category= Category.drama},
new Books{Id=4, Title="Madam Bavary", Description="Love story", Author="Gi de Mopasan", Category= Category.romance}
};
foreach (Books b in books)
{
context.Books.Add(b);
}
context.SaveChanges();
}
Книжный файл
public enum Category
{
aksion, drama, romance, education
}
public class Books
{
public int Id { get; set; }
[Required]
public string Title { get; set; }
[Required]
[Display(Name = "Autor Name")]
public string Author { get; set; }
[Required]
[MaxLength(80)]
public string Description { get; set; }
[Required]
public Category Category { get; set; }
}
Индексный файл для Книг
<table class="table">
@*<thead>
<tr>
<th>
@Html.DisplayNameFor(model => Model.Author)
</th>
<th>
@Html.DisplayNameFor(model => model.Title)
</th>
<th>
@Html.DisplayNameFor(model => model.Category)
</th>
<th>
@Html.DisplayNameFor(model => model.Description)
</th>
<th></th>
</tr>
</thead>*@
<tbody>
@foreach (var item in Model.Book)
{
<tr>
<td>
@Html.DisplayFor(modelItem => item.Author)
</td>
<td>
@Html.DisplayFor(modelItem => item.Title)
</td>
<td>
@Html.DisplayFor(modelItem => item.Category)
</td>
<td>
@Html.DisplayFor(modelItem => item.Description)
</td>
<td>
<a asp-action="Details" asp-route-id="@item.Id">Details</a>
</td>
</tr>
}
</tbody>
</table>
<a asp-action="Create" asp-controller="Books">Create</a>