У меня есть форма для основанной на реакции веб-игры с формой, которая содержит данные как о подземельях, так и о героях.
После того, как игрок заполнил ее и нажал "Отправить", она отправляется в мою сущность .NetCore 3.1. Framerwork API.
API должен сохранить его в 2 разных моделях, чтобы его можно было вставить в 2 разные таблицы базы данных.
Это Dungeon and Heroes.
I у меня есть контроллер, который должен принимать данные формы, и в настоящее время он выглядит так, как показано ниже.
Я выяснил, как использовать одну модель для обновления одной таблицы базы данных, но как мне это сделать для два?
Вот мой неработающий код контроллера, который я начал писать:
[HttpPost]
public async Task<ActionResult<CreateDungeon>> ProcessForm([FromBody]CreateDungeon data)
{
// Read quest data from form and add to DB via EF
_context.Quest.Add(data.Quest);
try
{
await _context.SaveChangesAsync();
}
catch (DbUpdateException)
{
if (QuestExists(data.Quest.Id))
{
return Conflict();
}
else
{
throw;
}
}
// Read heroes data from form and add to DB via EF
_context.Heroes.Add(data.Heroes);
try
{
await _context.SaveChangesAsync();
}
catch (DbUpdateException)
{
if (HeroesExists(data.Heroes.Id))
{
return Conflict();
}
else
{
throw;
}
}
return Ok();
}
Это правильный способ сделать это?
Спасибо !