尝试插入记录时外键的基本问题

Basic issue with Foreign key while trying to insert a record

我链接了 3 个表:

[T_User]

AUsr_ID [PK] | AUsr_LogonID | AUsr_UserDisplayName
-------------+--------------+---------------------
    417      | VI00IV       | John Doe

[T_ApplicationRoles]

Role_ID [PK] | Role_Name    | Role_Description
-------------+--------------+--------------------------
    6        | Default Role | Default Role Attributed

[T_ApplicationRoles用户]

RoUs_ID [PK auto-incremented] | RoUs_Role_ID [FK] | RoUs_ApUs_ID [FK]
------------------------------+-------------------+------------------
          1                   |         6         |        417

我手动在 T_ApplicationRolesUsers 中插入一行,结果很顺利。

当我尝试在 C# 中插入同一行时,出现错误:

这些是我要插入的值 T_ApplicationRolesUser:

 UserRoleToAdd.RoUs_Role_ID = 417;
 UserRoleToAdd.RoUs_ApUs_ID = 6;

这是我得到的错误:

The INSERT statement conflicted with the FOREIGN KEY constraint "FK_T_ApplicationRolesUsers_T_ApplicationRoles".
The conflict occurred in database "DBS", table "dbo.T_ApplicationRoles", column 'Role_ID'.

您正在尝试为 Role_ID 417 插入内容 - 该角色是否存在?从你提供的表格来看没有,如果我不得不冒险猜测,我建议你把你的 417 和你的 6 搞错了。

而不是:

 UserRoleToAdd.RoUs_Role_ID = 417;
 UserRoleToAdd.RoUs_ApUs_ID = 6;

我想你的意思是:

 UserRoleToAdd.RoUs_Role_ID = 6;
 UserRoleToAdd.RoUs_ApUs_ID = 417;