У меня есть ограничение внешнего ключа между таблицами Sessions и Users. В частности, Session.UID = Users.ID. Иногда я хочу, чтобы Session.UID был нулевым. Можно ли это разрешить? Каждый раз, когда я пытаюсь это сделать, я получаю нарушение ограничений FK.
В частности, я вставляю строку в сеансы через LINQ. Я установил Session.User = null; и я получаю эту ошибку:
Была предпринята попытка удалить отношения между пользователем и сеансом. Однако одно из внешних связей отношения (Session.UID) не может быть установлено в значение null.
Однако, когда я удаляю строку, которая возвращает значение свойства User, я получаю эту ошибку в моей строке SubmitChanges:
Значение не может быть нулевым. Имя параметра: cons
Ни одна из моих таблиц не имеет поля под названием "cons", равно как и в моем файле DataContext.designer.cs с 5,5 тыс. строк, а также в QuickWatch для любого из связанных объектов, поэтому я понятия не имею, минусы ".
В базе данных Session.UID является полем с нулевым значением int, а User.ID - недействительным int. Я хочу записывать сеансы, которые могут иметь или не иметь UID, и я бы предпочел сделать это, не отключая ограничений на эти отношения FK. Есть ли способ сделать это?