Модели: Пользователь (Пузиватель):
Код: Выделить всё
public class Pouzivatel
{
public int PouzivatelId { get; set; }
public string Meno { get; set; }
public string Email { get; set; }
public int RolaId { get; set; }
public Rola Rola { get; set; }
}
Код: Выделить всё
public class Rola
{
public int RolaId { get; set; }
public string Nazov { get; set; }
public ICollection
Pouzivatelia { get; set; }
}
Код: Выделить всё
public class AplikaciaDbContext : DbContext
{
public DbSet
Pouzivatelia { get; set; }
public DbSet Rola { get; set; }
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity()
.HasMany(r => r.Pouzivatelia)
.WithOne(p => p.Rola)
.HasForeignKey(p => p.RolaId);
}
}
Я создал PouzivatelsController с помощью Visual Studio для генерации операций CRUD. Когда я пытаюсь создать пользователя с помощью метода Create, он не сохраняется в базе данных и не отображается в представлении списка. Ошибок в Visual Studio и журналах нет.
PouzivatelsController (метод Create):
Код: Выделить всё
// GET: Pouzivatel/Create
public IActionResult Create()
{
ViewData["RolaId"] = new SelectList(_context.Role, "RolaId", "Nazov");
return View();
}
Код: Выделить всё
[HttpPost]
[ValidateAntiForgeryToken]
public async Task Create(Pouzivatel pouzivatel)
{
if (ModelState.IsValid)
{
_context.Add(pouzivatel);
await _context.SaveChangesAsync();
return RedirectToAction(nameof(Index));
}
ViewData["RolaId"] = new SelectList(_context.Role, "RolaId", "Nazov", pouzivatel.RolaId);
return View(pouzivatel);
}
Код: Выделить всё
@model Pouzivatel
Create
Подробнее здесь: https://stackoverflow.com/questions/791 ... ql-databas
Мобильная версия