null 許容の bool プロパティへの変更は 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 レコードを変更/更新する場合にのみ問題が発生します。新しい EmployeeSurvey を作成/挿入すると、EmployeeSmokes を含むすべてのプロパティが正常に保存されます。
このスレッドに従って ApplyCurrentValues メソッドも使用してみましたが、残念ながら役に立ちませんでした。
なぜこれが起こっているのですか?