Asp.net mvc 如何在ASP.NET MVC中将一个表的主键保存到另一个表中

Asp.net mvc 如何在ASP.NET MVC中将一个表的主键保存到另一个表中,asp.net-mvc,asp.net-mvc-4,Asp.net Mvc,Asp.net Mvc 4,我是ASP.NETMVC新手。我使用的是数据库优先的方法 我在数据库中有两个表-Employee和Department 我制作了一个“添加新员工”的弹出式注册表,其中包括一个下拉列表,该下拉列表由部门表中的离职人员姓名列表填充。但在保存时,我想将与所选选项相关的部门ID而不是部门名称作为外键保存到employee表中 因为你的问题不太清楚,但据我所知,我给你一个可能的解决方案。 为什么不稍微更改一下部门下拉列表生成代码呢。定义值和文本字段。然后您将以值的形式访问部门id 如果您的部

我是ASP.NETMVC新手。我使用的是数据库优先的方法

我在数据库中有两个表-
Employee
Department

我制作了一个“添加新员工”的弹出式注册表,其中包括一个下拉列表,该下拉列表由
部门
表中的
离职人员姓名
列表填充。但在保存时,我想将与所选选项相关的
部门ID
而不是
部门名称
作为外键保存到employee表中


因为你的问题不太清楚,但据我所知,我给你一个可能的解决方案。 为什么不稍微更改一下部门下拉列表生成代码呢。定义值和文本字段。然后您将以值的形式访问
部门id

如果您的部门表的列数超过
id
name

public class DropdownDataModel{
    public virtual int value { get; set; }
    public virtual string text { get; set; }
}
然后根据表数据生成部门列表

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" })

当然,您的
员工
模型必须将
部门id
作为一个字段,并且您已经按原样创建了数据库并建立了关系

尝试编写有问题的代码,以便有人可以帮助您。我添加了更多的sc快照,包括MyModel.context、department.cs和Employee.cs。请引导我去哪里,建立我在回答中提到的下拉列表。综上所述,您已经将表单的每个字段都指向了您的
员工
模型字段,除了
部门id
。您需要使用
DropdownListFor
helper来获取所选的部门Id。
@Html。DropdownList
在这种情况下对您没有帮助。