Я впервые использую Entity Framework и пытаюсь создать объект с коллекцией (и я хочу, чтобы все объекты в коллекции также создавались в базе данных), но у меня есть некоторые сторонниенарушения ключей.
Мои примеры таблиц:
table APPOINTMENTS: ID, VAR1, DATE_APPOINTMENT
table GUESTS: ID, APPOINTMENT_ID, USER_ID, VAR2, VAR3
Мой тестовый код:
DomainService aux = new DomainService();
APPOINTMENTS appointment = new APPOINTMENTS();
appointment.VAR1 = "BLA";
appointment.DATE_APPOINTMENT = new DateTime();
//The user with id = 1 is already created in the database
appointment.GUESTS.Add(new GUESTS { USER_ID = 1, VAR2 = 1, VAR3 = "F" });
aux.InsertAppointment(appointment);
На DomainService у меня есть:
public void InsertAppointment(APPOINTMENTS appointment)
{
using (var context = this.ObjectContext)
{
context.AddToAPPOINTMENTS(appointment);
context.SaveChanges();
}
}
НоЯ получаю эту ошибку: {"ORA-02291: ограничение целостности (FK_GUESTS_APPOINTMENTS) нарушено - родительский ключ не найден"}
Что я делаю не так?
ОБНОВЛЕНИЕ: Чтобы создать идентификаторы в базе данных, я использую последовательность для каждой таблицы и триггер перед вставкой, чтобы получить следующее значение.Когда я создаю отдельный объект, например, встречу без гостей, он вставляется в базу данных и генерирует идентификатор.