如何在没有外键的情况下添加依赖项(确保插入顺序)

时间:2019-06-18 19:53:17

标签: entity-framework entity-framework-6

注意:这不是一个真实的情况,所以不要过度分析为什么从触发器中向人们发送电子邮件,或者-我们为什么这样做,我对操作方式更感兴趣

我有以下三个表

Classroom
ClassroomTime
ClassroomPerson

enter image description here

我们在ClassroomPerson上有一个触发器,用于在添加一个人时自动通过电子邮件将他们在教室的时间发送给电子邮件。

在EF中设置教室时,它可以正确地先创建教室,但是如果接下来创建ClassroomTime或ClassroomPerson,则没有明确的命令。碰巧首先创建了ClassroomPerson,所以触发失败了,因为ClassroomTime还没有时间。

是否有一种方法可以强制EF按此顺序创建:

1) Classroom
2) ClassroomTime
3) ClassroomPerson

提供所有数据时

我们想到的一种破解方法是让ClassroomPerson的ClassroomId是ClassroomTime而不是Classroom的FK。

更直接的解决方案是让EF通过执行行为本身来执行触发行为,而不是依赖于触发器,但是EF外部的事物需要具有此行为的上下文

0 个答案:

没有答案