将MySQL存储过程添加到实体框架上下文时出现外键约束错误
我正在尝试让我的应用程序首先使用EntityFramework6数据库与MySQL数据库通信 我试图使用存储过程来创建、更新和删除使用实体框架的每个实体 对于没有外键的表,这很简单。但是,我在尝试添加存储过程时出错(通过右键单击实体设计器界面“从数据库更新模型…”) 错误消息是: 发生“MySql.Data.MySqlClient.MySqlException”类型的异常 尝试从数据库更新时。异常消息是 无法添加或更新子行:外键约束失败 sakila.“电影演员”,约束“fk电影演员”外键 ('actor id')引用了更新级联上的'actor'('actor id') 我的存储过程如下所示:将MySQL存储过程添加到实体框架上下文时出现外键约束错误,mysql,entity-framework,Mysql,Entity Framework,我正在尝试让我的应用程序首先使用EntityFramework6数据库与MySQL数据库通信 我试图使用存储过程来创建、更新和删除使用实体框架的每个实体 对于没有外键的表,这很简单。但是,我在尝试添加存储过程时出错(通过右键单击实体设计器界面“从数据库更新模型…”) 错误消息是: 发生“MySql.Data.MySqlClient.MySqlException”类型的异常 尝试从数据库更新时。异常消息是 无法添加或更新子行:外键约束失败 sakila.“电影演员”,约束“fk电影演员”外键 ('
DELIMITER $$
CREATE PROCEDURE `p_film_actor_ins` (
IN paractor_id smallint(5) unsigned,
IN parfilm_id smallint(5) unsigned,
IN parlast_update timestamp
)
MODIFIES SQL DATA
BEGIN
INSERT INTO film_actor
(
actor_id,
film_id,
last_update
)
VALUES
(
paractor_id,
parfilm_id,
parlast_update
);
END$$
DELIMITER ;
现在,公平地说,我在执行存储过程时会出现这样的错误,而我的数据是错误的。但是我在这里要做的就是将它导入到我的模型中。我看到您的存储过程插入了。我也有同样的问题
此时,我意识到Entity Framework 6似乎不支持原始SQL查询并将代码重写为原始SQL查询。很好的调用!这解决了我的问题。必须将鼠标悬停在复选框上才能获得真正需要的信息,这是一种“神秘的肉”。