У меня есть ограничение внешнего ключа между таблицами Sessions и Users. В частности, Sessions.UID = Users.ID. Иногда я хочу, чтобы Sessions.UID был нулевым. Можно ли это позволить? Каждый раз, когда я пытаюсь это сделать, я получаю нарушение FK Constraint.
В частности, я вставляю строку в сеансы через LINQ. Я установил Session.User = null; и я получаю эту ошибку:
An attempt was made to remove a relationship between a User and a Session. However, one of the relationship's foreign keys (Session.UID) cannot be set to null.
Однако, когда я удаляю строку, которая обнуляет свойство User, я получаю эту ошибку в моей строке SubmitChanges:
Value cannot be null.
Parameter name: cons
Ни в одной из моих таблиц нет поля с именем cons, и его нет ни в моем файле DataContext.designer.cs размером 5500 строк, ни в QuickWatch ни для одного из связанных объектов, поэтому я понятия не имею, что ' минусы это.
В базе данных Session.UID - это пустое int-поле, а User.ID - ненулевое int. Я хочу записывать сеансы, которые могут иметь или не иметь UID, и я бы предпочел сделать это, не отключая ограничения для этого отношения FK. Есть ли способ сделать это?