我是 C# 编程的新手,我开始学习 MVC4 框架。我决定潜入一个小型网络应用程序的想法,用于指导计划。我遇到了向系统添加学员的问题。我无法提供需要帮助的表关系图,所以这里......
我有 3 张桌子:
地址: address_id address1 address2 city ......
被指导者:被指导者 _id first_name middle_name last_name ......
Mentee_Address: mentee_id address_id
当然 EF 不识别交叉引用表,因此 Mentee 和 Address 的 Models 类:
辅导班:
public partial Class mentee
{
public mentee()
{
this.addresses = new HashSet<address>();
}
public int mentee_id { get; set; }
public string first_name { get; set; }
public string middle_name { get; set; }
public string last_name { get; set; }
public virtual ICollection<address> addresses { get; set; }
}
地址类:
public partial Class address
{
public address()
{
this.mentees = new HashSet<mentee>();
}
public int address_id { get; set; }
public string address1 { get; set; }
public string address2 { get; set; }
public string city { get; set; }
public virtual ICollection<mentee> mentees { get; set; }
}
在我的创建视图中,我正在尝试添加学生和地址记录,同时保持与地址和学员的关系完整。我已经读到 EF 这样做并没有实际更新交叉引用表 Mentee_Address。如果是这样,有人可以提供详细的解释,如果没有,我需要一种访问交叉引用表的方法,以便可以更新它。
public ActionResult Create(ViewModels.MenteeViewModel menteeViewModel)
{
if (ModelState.IsValid)
{
db.mentees.Add(menteeViewModel.mentee);
db.addresses.Add(menteeViewModel.address);
db.SaveChanges();
}
}