插入外键 asp.net mvc

insertion of foreign key asp.net mvc

我有 3 个模型

public class UsersModel
    {
        [Key]
        public int UserId { get; set; }

        [Required]
        [StringLength(100, ErrorMessage = "Invalid Name Minimum Length is 5", MinimumLength = 5)]
        public string Name { get; set; }

        //20150090
        public int? student_ID { get; set; }

        [Display(Name = "transcript")]
        public string transcript { get; set; }

        [Required]
        [EmailAddress]
        public string Email { get; set; }

        [Required]
        [StringLength(100, ErrorMessage = "The {0} must be at least {2} characters long.", MinimumLength = 6)]
        [DataType(DataType.Password)]
        [Display(Name = "Password")]
        public string Password { get; set; }

        [DataType(DataType.Password)]
        [Display(Name = "Confirm password")]
        [Compare("Password", ErrorMessage = "The password do not match.")]
        public string ConfirmPassword { get; set; }

        [Required]
        [StringLength(100, ErrorMessage = "Invalid Name Minimum Length is 2", MinimumLength = 2)]
        public string Department { get; set; }

        [Required]
        [Display(Name = "Phone")]
        [DataType(DataType.PhoneNumber,ErrorMessage ="Invalid Phone Number")]
        [Range(999999999, 9999999999)]
        public int Phone { get; set; }

        public int type { get; set; }

    }

学生

 public class StudentsModel
    {
        [Key]
        [Display(Name ="ID")]
        public int StudentID { get; set; }

        [Required]
        public string Name { get; set; }

        [Required]//20150090
        public string student_ID { get; set; }

        [Required]
        [Display(Name = "Skills")]
        public string Skills { get; set; }

        [Required]
        [Display(Name = "Gpa")]
        [Range(1.00, 4.00, ErrorMessage = "It must be in range 0.00 to 4.00 :)")]
        public float Gpa { get; set; }

        [Required]
        [Display(Name = "Leader")]
        public string Leader { get; set; }

        [Required]
        [Display(Name = "transcript")]
        public string transcript { get; set; }

        [ForeignKey("UserId")]
        public int UserId;
        public UsersModel Users { get; set; }

        [ForeignKey("IdeaId")]
        public int? IdeaId;
        public IdeaModel Idea { get; set; }


    }

想法

public class IdeaModel
    {
        [Required]
        [Key]
        public int IdeaId { get; set; }

        [Required]
        public string IdeaName { get; set; }

        [Required]
        public string IdeaDescription { get; set; }

        [Required]
        public string tools { get; set; }

        public int? SetWith { get; set; }

        [Required]
        public int Prof1 { get; set; }

        public int Prof2 { get; set; }

        public int Prof3 { get; set; }
    }

当我向数据库中插入用户和学生以及想法时 插入空值的学生模型中的外键 这是插入代码 我希望学生模型中的外键自动插入 使用 usernodel 和 idea 模型中的主键值如何实现?

public ActionResult RegisterLeader(regall reg)
        {
            if (ModelState.IsValid)
            {
                var user= db.Users.Add(reg.users);
                var idea = db.Idea.Add(reg.idea);
                var stu = db.Students.Add(reg.students[0]);

                db.SaveChanges();

                return View("RegisterLeaderPost");
                //return Registerfinish();

            }
}

这个模型有三个模型

 public class regall
    {
        public List<StudentsModel> students { get; set; }
        public UsersModel users { get; set; }
        public IdeaModel idea { get; set; }
    }

您需要设置学生的 Idea 属性,以便 EF 知道建立关系。

reg.students[0].Idea = reg.idea;