Изменения свойств bool, допускающих значение NULL, не сохраняются обратно в базу данных в EF4, однако другие поля, допускающие значение NULL, обновляются без каких-либо проблем. Например, если я выполняю простой запрос, подобный следующему:
EmployeeSurvey employeeSurvey = context.EmployeeSurveys.SingleOrDefault(s => s.EmployeeSurveyID == 60);
employeeSurvey.EmployeeSmokes = true;
employeeSurvey.OtherComments = "Test comment";
context.SaveChanges();
Изменения OtherComments успешно сохраняются обратно в базу данных, однако изменения свойства EmployeeSmokes не сохраняются. Свойство EmployeeSmokes является логическим? и другие логические поля, допускающие значение NULL, имеют ту же проблему.
Кроме того, проблема возникает только при изменении/обновлении существующих записей EmployeeSurvey — все свойства, включая EmployeeSmokes, успешно сохраняются при создании/вставке новых EmployeeSurvey.
Я также пытался использовать метод ApplyCurrentValues в соответствии с этой веткой, но, к сожалению, это не помогло.
Есть идеи, почему это происходит?