我在表会话和用户之间有一个外键约束。具体来说,Sessions.UID = Users.ID。有时,我希望 Sessions.UID 为空。这可以允许吗?每当我尝试这样做时,都会收到 FK 约束违规。
具体来说,我通过 LINQ 在 Sessions 中插入一行。我设置了 Session.User = null; 我得到这个错误:
试图删除用户和会话之间的关系。但是,不能将关系的外键之一 (Session.UID) 设置为 null。
但是,当我删除使 User 属性为空的行时,我在 SubmitChanges 行上收到此错误:
值不能为空。 参数名称:cons
我的表中没有一个名为“cons”的字段,在我的 5,500 行 DataContext.designer.cs 文件中也没有,也没有在任何相关对象的 QuickWatch 中,所以我不知道“cons”是什么.
在数据库中,Session.UID 是一个可为空的 int 字段,而 User.ID 是一个不可为空的 int。我想记录可能有也可能没有 UID 的会话,我宁愿在不禁用对 FK 关系的约束的情况下这样做。有没有办法做到这一点?