我正在尝试使用Entity Framework 6 Database First让我的应用程序与MySQL数据库通信。
我正在尝试使用存储过程来使用Entity Framework创建,更新和删除每个实体。
对于没有外键的表,这很容易。但是,在尝试添加存储过程时出现错误(通过右键单击实体设计器表面,“从数据库更新模型...”)。
错误消息是:
发生了'MySql.Data.MySqlClient.MySqlException'类型的异常 在尝试从数据库更新时。异常消息是 无法添加或更新子行:外键约束失败 sakila.'film_actor',CONSTRAINT'fk_film_actor_actor'外键 ('actor id')参考'actor'('actor id)ON UPDATE CASCADE。)
我的存储过程如下所示:
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 ;
现在,公平地说,在执行存储过程时我会收到类似错误,而我的数据错误。但我想在这里做的就是将它导入我的模型中。
答案 0 :(得分:3)
我看到你的存储过程插入了。我遇到了同样的问题。
此时我意识到Entity Framework 6似乎不支持async stored procedures并将代码重写为原始SQL查询。