Я работаю с библиотекой EF Code First, пытаясь работать с приложением для планирования встреч.
У меня будет модель Client, Appointment и AppointmentType ...
Обычно каждый клиент может иметь набор назначений, и каждое назначение может иметь один тип назначения ...
Код выглядит следующим образом:
public class Client
{
[ScaffoldColumn(false)]
public int ClientID { get; set; }
[Required]
public string FirstName { get; set; }
[Required]
public string LastName { get; set; }
[EmailAddress]
[Required]
public string Email { get; set; }
[DataType("DateTime")]
public DateTime Birthday { get; set; }
[Required]
public string CellPhone { get; set; }
public string HomePhone { get; set; }
public string Notes { get; set; }
public virtual ICollection<Appointment> Appointments{ get; set; }
public string Name {
get{
return FirstName + " " + LastName;
}
}
public class Appointment
{
[ScaffoldColumn(false)]
public int AppointmentID { get; set; }
[ScaffoldColumn(false)]
public int ClientID { get; set; }
[ScaffoldColumn(false)]
public int AppointmentTypeID { get; set; }
[Required]
public DateTime AppointmentDate { get; set; }
public string Notes { get; set; }
public virtual AppointmentType AppointmentType { get; set; }
public virtual Client Client { get; set; }
}
public class AppointmentType
{
[ScaffoldColumn(false)]
public int AppointmentTypeID { get; set; }
[Required]
public string Name { get; set; }
public string Description { get; set; }
public virtual Appointment Appointment { get; set; }
}
Все хорошо работает, когда я создаю тип встречи и клиента, но когда я создаю встречу, я получаю следующую ошибку ...
- InnerException {"Оператор INSERT конфликтовал с ограничением FOREIGN KEY \" Appointment_Client \ ". Конфликт произошел в базе данных \" Salon.Models.SalonContext \ ", таблице \" dbo.Clients \ ", столбце" ClientID ". \ r \ nОпределение завершено. "} System.Exception {System.Data.SqlClient.SqlException}
Если вам нужны дополнительные сведения, пожалуйста, дайте мне знать ... Я просто пытаюсь выяснить, что-то не хватает в настройке.
Это то, что происходит, когда я отлаживаю пост, чтобы создать встречу ... Все идентификаторы равны 0, что правильно, но не должны ли другие поля быть пустыми ?? Или это имеет значение ... Просто не очень знаком с тем, как все должно выглядеть, это мой первый проект EF Code First ...