Как сохранить первичный ключ одной таблицы в другую таблицу в ASP.NET MVC - PullRequest
0 голосов
/ 22 сентября 2019

Я новичок в ASP.NET MVC.Я использую подход, основанный на базе данных.

У меня есть 2 таблицы в базе данных - Employee и Department.

Я сделал всплывающую регистрационную форму для «Добавить нового сотрудника», в которой я включаю раскрывающийся список, который заполняетсяпо списку depart_name из таблицы Department.Но при сохранении я хочу сохранить DepartmentID вместо Depart_Name, относящийся к выбранной опции, в таблицу сотрудников в качестве внешнего ключа.

HomeController_pic_1

HomeController_pic_2

HomeController_pic_3

Save.cshtml_pic_1

Save.cshtml_pic_2

Изображение Department.cs

Изображение Employee.cs

MyModel.Context pic

1 Ответ

1 голос
/ 22 сентября 2019

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

Вам необходимо иметь выпадающую модель, например DropdownDataModel, если в вашей таблице Departments больше столбцов, чем id и name

* 1008.*

Затем сгенерируйте список отделов из ваших табличных данных

public ActionResult YourFunc(){
    //Your rest of codes
    Viewbag.Departments = _db.Departments.Select(x => new DropdownDataModel{ value = x.id, text = department_name }).toList();
}

Затем создайте выпадающий список с этими данными из представления

@Html.DropDownListFor(model => model.department_id, new SelectList(ViewBag.Departments , "value", "text"), htmlAttributes: new { @class = "form-control" })

Ну, конечно, ваша модель Employee должнаиметь department_id в качестве поля, и вы создали свою базу данных в том виде, как она есть, и построить отношение

...