Как сохранить идентификатор из таблицы в другую таблицу в ASP.NET MVC? - PullRequest
0 голосов
/ 20 октября 2019

У меня проблема с передачей 'slot_id' (автоинкрементный первичный ключ) с tb_parkingslots до tb_freeslot и сохранением.

Вот мой код:

Контроллер:

// GET: Admin/Create
public ActionResult Addspace()
{
    return View();
}

// POST: Admin/Create
[HttpPost]
public ActionResult Addspace(FormCollection collection)
{
    try
    {
        tb_parkingslots add = new tb_parkingslots();
        add.slot_name = collection["name"];

        db.tb_parkingslots.Add(add);
        int i = db.SaveChanges();

        if (i > 0)
        {
           tb_freeslot addi = new tb_freeslot();
           addi.slot_id = Convert.ToInt32(collection["id"]); //which is auto increment - primary key in tb_parkingslots
           addi.slot_name = collection["name"];

           db.tb_freeslot.Add(addi);
           db.SaveChanges();

           ViewBag.s = "success";
           return View();
       }
       else
       {
           ViewBag.f = "failed";
           return View();
       }
   }
   catch
   {
       return View();
   }
}

1 Ответ

0 голосов
/ 20 октября 2019

При сохранении данных в таблице tb_parkingslots. EF автоматически заполнит свойство Id объекта.

 tb_parkingslots add = new tb_parkingslots();
        add.slot_name = collection["name"];

        db.tb_parkingslots.Add(add);
        int i = db.SaveChanges(); // Here you will get the ID.

Затем этот идентификатор можно использовать для сохранения данных в таблице tb_freeslot.

tb_freeslot addi = new tb_freeslot();
           addi.slot_id = add.id; //which is slot ID when you saved data in tb_parkingslots
           addi.slot_name = collection["name"];

           db.tb_freeslot.Add(addi);
           db.SaveChanges();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...