对可为空的布尔属性所做的更改不会保存回 EF4 中的数据库,但其他可为空的字段正在更新,没有任何问题。例如,如果我执行类似于以下的简单查询:
EmployeeSurvey employeeSurvey = context.EmployeeSurveys.SingleOrDefault(s => s.EmployeeSurveyID == 60);
employeeSurvey.EmployeeSmokes = true;
employeeSurvey.OtherComments = "Test comment";
context.SaveChanges();
OtherComments 更改已成功保存回数据库,但 EmployeeSmokes 属性更改没有。EmployeeSmokes 属性是布尔值吗?和其他可为空的布尔字段也有同样的问题。
此外,该问题仅在更改/更新现有 EmployeeSurvery 记录时出现 - 在创建/插入新的 EmployeeSurveys 时成功保存包括 EmployeeSmokes 在内的所有属性。
我也尝试过按照这个线程使用 ApplyCurrentValues 方法,但不幸的是它没有帮助。
任何想法为什么会发生这种情况?