Обработка временного создания значений таблицы внешнего ключа - PullRequest
0 голосов
/ 10 июля 2020

У меня есть сторонняя таблица в моем контексте, называемая отношениями, каждый случай может иметь много отношений. Однако я не хочу использовать последнее сохранение, пока они не сохранят свои отношения полностью, пока не закончат sh ввод данных, но мне все еще нужна ссылка на него.

Я здесь

[HttpPost]
[ValidateAntiForgeryToken]
public async Task<IActionResult> Create([Bind("Id,RelationShipType")] RelationShips relationShips)
{
    if (ModelState.IsValid) 
    {
        var caseId = Int32.TryParse(HttpContext.Session.GetString("CaseId"), out int resultcaseId);
        relationShips.RelationShipType = relationShips.RelationShipType;
        relationShips.isAcitve = true;
        relationShips.MisObjectId = resultcaseId;
        _context.Add(relationShips);
         await _context.SaveChangesAsync();
    }

    return RedirectToAction("Edit", "Relationships", new { Id = relationShips.Id });
}

Obv Я мог бы просто удалить строку

await _context.SaveChangesAsync();

и передать объект отношений как таковой

return RedirectToAction("Edit", "Relationships", new { Id = relationShips.Id }, res);

Но это правильный способ обработки, у меня есть отношения настроить как один ко многим для моего случая

modelBuilder.Entity<RelationShips>()
   .HasOne<MISObject>(s => s.Case)
   .WithMany(g => g.RelationShip)
   .HasForeignKey(s => s.MisObjectId);

Или я должен делать.

_context.MSIobject.Relationships.Add 

Единственное, что

Даже если он у меня здесь, мой DbContext Кажется, я не могу получить доступ из MSIobject

public DbSet<RelationShips> RelationShips { get; set; }
...