我无法存储" ID"学生的价值为" StudentID" StudentCourses表。它没有返回错误,数据类型也匹配。
ViewModel:StudentVM
public class StudentVM
{
public Student student { get; set; }
public SelectList Courses { set; get; }
public int SelectedCourseID { get; set; }
public StudentCourses studentCourse { get; set; }
}
" St.Id"给了我一个价值,但它的价值没有转移到" StudentID" StudentCourse表的字段,没有任何错误消息。
[HttpPost]
public ActionResult Create(FormCollection Form,StudentVM Vm) {
// string strDDLValue = Vm.SelectedCourseID;
Student st = new Student() {Name=Vm.student.Name };
var stname=st.Name;
int stid = st.Id; //No transfer of value takes place.stid is null
StudentCourses stc = new StudentCourses() { CourseID = Vm.SelectedCourseID, StudentID = st.Id };
db.Students.Add(st);
db.StudentCourses.Add(stc);
db.SaveChanges();
return View();
}
Object St确实返回了输入值。请看看。
答案 0 :(得分:1)
您不应该将ID分配给整个实体。
StudentCourses stc =
new StudentCourses() { CourseID = Vm.SelectedCourseID, Student = st };
这样,在SubmitChanges()上,LsS将知道ID并在单个事务中分配适当的关系。