0
我無法將Student的「ID」值存儲到StudentCourses表的「StudentID」中。它不返回錯誤,數據類型也匹配。無法將主鍵值分配給相同數據類型的另一個表列
視圖模型: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」是給我但其價值沒有得到轉移到StudentCourse表「StudentID」字段中的值,沒有任何錯誤信息。
[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();
}
對象St確實返回輸入值。請看一看。
你所做的一切都是初始化一個'Student'的新實例並設置其'Name'屬性。無處設置'Id'屬性,所以'int stid = st.Id'將根據屬性是'int?'還是'int'返回'null'或'0'(並且視圖模型不應該包含一個數據模型編輯時!) –
St.Id確實返回一個值,請看看我添加的圖片。 – Arun3x3
然後你'Student'必須有一個默認的構造函數來設置這個值,這意味着'stid'將會是2004(不是你的聲明爲空),或者你在'db.SaveChanges();'行之後的調試器中讀取了這個值。 –