SqlException:列名无效(实体框架)

时间:2017-08-07 09:37:43

标签: c# asp.net asp.net-mvc entity-framework

我尝试更新表列,但失败了。这是我的控制器上的更新代码:

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; }
}

当我尝试更新时,我收到此错误:

Screen

我试图找到列名Patient_Id1,但我的项目中没有。

清洁和重建没有帮助。我怎么能解决这个问题?

3 个答案:

答案 0 :(得分:-1)

如果它是DB,那么你应该通过将Patient_Id添加到表约会然后重新构建解决方案来更新EDMX文件。

如果它是Code优先,则只将此db字段添加到Appointment表中,然后运行它。

答案 1 :(得分:-1)

确保db列与您的edmx正确匹配。通常,当您的edmx和数据库不同步时会发生此错误

答案 2 :(得分:-1)

当我不小心创建一个在列名末尾带有空格的表时,这发生在我身上。我更新了模型,发现EF添加了下划线,这就是我发现错误的方式。我删除,更正并再次更新了模型。就是这个错误开始的时候。

尝试了几乎所有内容后,我完全删除并重新创建了模型,然后清理了项目。一切。这样就够了,我又重新营业了!