C#:当我在我的数据库中添加一个对象时,我得到一个 "MySqlException: Cannot add or update a child row: a foreign key constraint fails"

C#: I'm getting a "MySqlException: Cannot add or update a child row: a foreign key constraint fails" when i am Adding an object in my database

好的伙计们, 这绝对是一个奇怪的。所以,我正在从 IGDB 获取游戏信息数据,并将其保存在我的数据库中每当用户单击它以查看有关游戏的更多信息时。

提供更多详情: 我有一个对象模型调用 "Game",它包含 属性,例如名称、评级、受欢迎程度、封面、屏幕截图、视频等...,以及其他导航属性。

这是我的封面模型..我显示封面模型的原因是因为它在错误中起作用...我认为..封面模型有一个外键 gameId 和其他属性。

所以现在你知道 'Game' 和 'Cover' 之间存在一对一的关系。意味着一款游戏可以有一个封面。

现在的问题: 当我点击 "most" 游戏时,它工作正常,游戏被插入,封面也被插入。
但是但是 .. 有一个游戏(据我所知),当我点击它时我得到这个错误:

MySqlException: 无法添加或更新子行:外键约束失败 (gamerater_db.covers, CONSTRAINT FK_Covers_Games_gameId FOREIGN KEY (gameId) REFERENCES games (gameid) 删除级联)

据我所知 这是唯一一个给出该错误的。(api 数据库相当大)

所以你可以看出为什么这很奇怪...大部分游戏都已正确保存,但这个特定的游戏出现了错误。请记住,据我所知,这是唯一一个出现错误的游戏那个错误。

所以,从字面上看,我不知道错误在哪里。当我 调试记录给我错误的游戏时 它被插入之前,游戏 ID 在那里,以及名称等其他属性,评级、受欢迎程度、摘要、user_id、first_release_date 等...也存在。

游戏模型的保存对其他人有效,但对这个特定的模型无效。为什么???一切都一样..任何见解都会有用..

所以发生的事情是游戏模型中已经有封面模型,所以当我试图将游戏模型添加到数据库时,C# 只是自动将封面模型添加到数据库中。然后当我尝试添加封面时,它不起作用,因为当我将游戏模型添加到数据库时它已经自动插入。这让我更了解 C#