注意:这不是一个真实的情况,所以不要过度分析为什么从触发器中向人们发送电子邮件,或者-我们为什么这样做,我对操作方式更感兴趣 >
我有以下三个表
Classroom
ClassroomTime
ClassroomPerson
我们在ClassroomPerson
上有一个触发器,用于在添加一个人时自动通过电子邮件将他们在教室的时间发送给电子邮件。
在EF中设置教室时,它可以正确地先创建教室,但是如果接下来创建ClassroomTime或ClassroomPerson,则没有明确的命令。碰巧首先创建了ClassroomPerson,所以触发失败了,因为ClassroomTime还没有时间。
是否有一种方法可以强制EF按此顺序创建:
1) Classroom
2) ClassroomTime
3) ClassroomPerson
提供所有数据时
我们想到的一种破解方法是让ClassroomPerson的ClassroomId是ClassroomTime
而不是Classroom
的FK。
更直接的解决方案是让EF通过执行行为本身来执行触发行为,而不是依赖于触发器,但是EF外部的事物需要具有此行为的上下文