Я пытаюсь вставить запись. Этот код работал, но перестал работать, я не знаю почему. Вот код:
using (SAASDataContext dc = new SAASDataContext())
{
tblAssessment a2 = new tblAssessment();
a2.AssessmentCentreId = centreId;
a2.AttemptNumber = 1;
dc.tblAssessments.InsertOnSubmit(a2);
dc.SubmitChanges();
CurrentAssessmentId = a2.AssessmentId;
}
Код компилируется, но выдает исключение ниже в строке dc.SubmitChanges();
.
Исключение:
Была предпринята попытка присоединить или добавить объект, который не является новым,
возможно, был загружен из другого DataContext. Это не
поддерживается.
Примечания:
AssessmentCentreId
- это внешний ключ на tblCentre
, centreId - действующий идентификатор центра,
AssessmentCentreId и AttemptNumber являются единственными ненулевыми полями, все остальные столбцы допускают пустые значения.
Я гуглил, но все результаты, похоже, относятся к людям, пытающимся прикрепить сущности, извлеченные из других отключенных DataContext. Я не делаю этого, поэтому я в замешательстве.
UPDATE:
Добавление
dc.DeferredLoadingEnabled = false;
в верхней части блока использования заставляет его работать, но я хотел бы знать, почему, я не знаю, на данный момент достаточно продвинутая технология неотличима от магии:)