Entity framework 当存在多级父子关系时,实体框架4以错误的顺序执行插入操作的存储过程

Entity framework 当存在多级父子关系时,实体框架4以错误的顺序执行插入操作的存储过程,entity-framework,Entity Framework,实体框架4遇到了一个奇怪的问题。我们的模型包含一个与3个实体关联的实体,让我们称它们为一级子实体。其中一个子实体与另一个实体关联——我们将其称为第二级子实体 所有这5个实体都映射到用于执行插入、更新和删除的存储过程 在映射存储过程之前,entity framework发出的插入查询顺序是正确的—首先发出主表的插入查询,然后发出第一级子级的插入查询,最后发出第二级子级的插入查询 但是在映射存储过程之后,entity framework正在以错误的顺序发送execute存储过程语句—第一个主表的in

实体框架4遇到了一个奇怪的问题。我们的模型包含一个与3个实体关联的实体,让我们称它们为一级子实体。其中一个子实体与另一个实体关联——我们将其称为第二级子实体

所有这5个实体都映射到用于执行插入、更新和删除的存储过程

在映射存储过程之前,entity framework发出的插入查询顺序是正确的—首先发出主表的插入查询,然后发出第一级子级的插入查询,最后发出第二级子级的插入查询

但是在映射存储过程之后,entity framework正在以错误的顺序发送execute存储过程语句—第一个主表的insert存储过程,然后是两个第一级子级(不是第二级子级的父级)的insert存储过程,然后是第二级子级的存储过程(用于多条记录)最后是剩余的第一级子级(第二级子级的父级)的插入存储过程

这会产生一个问题,因为在其父级插入之前,第二级子级的插入会导致外键冲突

删除表的存储过程映射(表是第二级子级的父级)时,它可以正常工作


有人知道是什么决定了实体框架生成的SQL语句的顺序吗?

我得到了同样的错误。你找到解决办法了吗。非常讨厌!