Примечание: это не реальный сценарий, поэтому не переоценивайте, почему люди получают электронные письма от триггера или почему мы это делаем, меня больше интересует, как
У меня есть следующие три таблицы
Classroom
ClassroomTime
ClassroomPerson
У нас есть триггер на ClassroomPerson
, когда при добавлении человека он автоматически отправляет им электронное письмо с указанием времени для занятий.
При настройке классной комнаты в EF корректно сначала создается классная комната, но нет никакого явного порядка, если следующим будет создано ClassroomTime или ClassroomPerson. Бывает, что ClassroomPerson создается первым, поэтому триггер не работает, потому что ClassroomTime еще не успел.
Есть ли способ принудительно создать EF в следующем порядке:
1) Classroom
2) ClassroomTime
3) ClassroomPerson
при предоставлении всех данных.
Один хак, о котором мы подумали, заключался в том, чтобы ClassroomPerson's ClassroomId был от FK до ClassroomTime
, а не Classroom
.
Более прямолинейным решением было бы заставить EF принудительно запускать поведение триггера, выполняя само поведение, а не полагаться на триггер, но тогда вещи вне EF должны иметь контекст этого поведения