我嘗試更新表列,但它失敗。下面是我的控制器上更新代碼:SqlException:無效的列名(實體框架)
public ActionResult AddDoctorsAppointment(string Start, string End, string Title, int? idPatient)
{
Appointment appointmentDoc = new Appointment()
{
Start_appointment = Start,
End_appointment = End,
Title = Title,
Type_of_appointment = "Doctors",
Patient_Id = idPatient
};
db.Appointments.Add(appointmentDoc);
db.SaveChanges();
return Json(new { Result = "Success", Message = "Saved Successfully" });
}
這裏被任命
public partial class Appointment
{
public int Id { get; set; }
public string Start_appointment { get; set; }
public string End_appointment { get; set; }
public string Title { get; set; }
public string Type_of_appointment { get; set; }
public Nullable<int> Patient_Id { get; set; }
public virtual Patient Patient { get; set; }
}
的模型。當我嘗試更新,我得到這個錯誤:
我試着找到列名Patient_Id1
,但我沒有在我的項目中。
清潔和重建沒有幫助。我如何解決這個問題?
我假設你使用的是DB第一種方法。進入你的.edmx文件並找到Appointment類和Patient類的映射。在屬性的某個地方,您將看到哪些屬性被映射到哪些列,並且能夠更新此屬性。 – MarioMucalo
當然,您在EDMX中有映射問題(通過EF試圖避免重複外鍵的數字後綴顯示),或者對於相同的PK(映射兩次)具有2個不同的FK。我認爲你需要爲'Patient'類設置'ICollection',然後從DB更新模型。 –