Я пытаюсь вставить запись. Этот код работал, но перестал работать, я не знаю, почему. Вот код:
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 является действительным существующим идентификатором центра,
ОценкиCentreId и AttemptNumber являются единственными невальными полями, все остальные столбцы допускают null.
У меня есть googled, но все результаты, похоже, относятся к людям, пытающимся присоединить объекты, вытащенные из другого отключенного DataContext. Я не делаю этого, поэтому я в тупике.
UPDATE:
Добавление
dc.DeferredLoadingEnabled = false;
в верхней части блока использования заставляет его работать, но я хотел бы знать, почему coz, о котором я не знаю, на данный момент достаточно развитой технологии, неотличимой от магии прямо сейчас:)