Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用C#mvc entityframwork将值插入forignkey列_C#_Asp.net Mvc_Entity Framework - Fatal编程技术网

如何使用C#mvc entityframwork将值插入forignkey列

如何使用C#mvc entityframwork将值插入forignkey列,c#,asp.net-mvc,entity-framework,C#,Asp.net Mvc,Entity Framework,我有一个员工薪资表,主键是SSID。因此我创建了另一个表,员工信息SSID将是该表上的外键。现在的问题是,我想将该值插入到Employee information表中 问题是如何使用MVC在Forignkey列中插入值,或者如何将主键值引入外键 我是新来的。我在做积垢手术。我需要加入到桌子上。因为我使用的是实体框架和angular js,所以我们如何编写代码MVC controller和view。请在这两个表之间建立关联 [Table("EmployeeSalary")] public clas

我有一个员工薪资表,主键是SSID。因此我创建了另一个表,员工信息SSID将是该表上的外键。现在的问题是,我想将该值插入到Employee information表中

问题是如何使用MVC在Forignkey列中插入值,或者如何将主键值引入外键


我是新来的。我在做积垢手术。我需要加入到桌子上。因为我使用的是实体框架和angular js,所以我们如何编写代码MVC controller和view。请在这两个表之间建立关联

[Table("EmployeeSalary")]
public class EmployeeSalary
{
    public EmployeeSalary()
    {
       EmployeeInfo = new HashSet<EmployeeInfo>();
    }
    [Key]
    public Int16 SSID { get; set; }
    ….
    public virtual ICollection<EmployeeInfo> EmployeeInfo { get; set; }
}
public class EmployeeInfo
{
    public Int16 SSID { get; set; }
    ….
    [ForeignKey("SSID")]
    public virtual EmployeeSalary EmployeeSalary { get; set; }    }
[表格(“员工工资”)]
公营雇员薪金
{
公共雇员薪金()
{
EmployeeInfo=newhashset();
}
[关键]
公共Int16 SSID{get;set;}
….
公共虚拟ICollection EmployeeInfo{get;set;}
}
公共类EmployeeInfo
{
公共Int16 SSID{get;set;}
….
[外键(“SSID”)]
公共虚拟员工工资员工工资{get;set;}

如果我理解正确,员工信息可能包含许多员工工资,因此您的模型应该是这样的

public class EmployeeInformation{
  public int EmployeeInformationId {get;set;}
  public virtual List<EmployeeSalary> EmployeeSalaries {get;set;}
}

public class EmployeeSalary{
  public int EmployeeSalaryId {get;set;}
  public int EmployeeInformationId {get;set;}

  [ForeignKey("EmployeeInformationId")]
  public virtual EmployeeInformation EmployeeInformation {get;set;}
}
在上面的示例中,我使用了操作名称“AddSalary”,控制器中应该有一个AddSalary方法来处理此请求。所以在你的雇员信息控制器中你应该有

public class EmployeeInformationController:Controller
{
  ...

  public ActionResult AddSalary(int eId)
  {
    new EmployeeSalary es = new EmployeeSalary();
    es.EmployeeInformationId = eId;
    return View(es);
  }
}

您的AddSalary视图应该使用EmployeeSalary模型,然后使用上面的控制器操作示例,它将使用通过url传递的Id自动填充员工信息Id。

您是否重新检查了实体框架文档?我确定你需要在那里设置的信息。我查过了,但我找不到我已经查过的信息。不适合我…你知道吗
public class EmployeeInformationController:Controller
{
  ...

  public ActionResult AddSalary(int eId)
  {
    new EmployeeSalary es = new EmployeeSalary();
    es.EmployeeInformationId = eId;
    return View(es);
  }
}