私はMVVMアプリケーションに取り組んでおり、ビューモデルからデータベースのオブジェクトを更新しようとしています.
IsDisplayed
双方向モードでトグル スイッチにバインドされているブール値を更新しようとしています。しかし、最終的にオブジェクトは更新されません...何が問題なのですか?
これは、ブール状態を保存したいときに呼び出されるメソッドです。
public static void UpdateIsDisplayedInServices(List<ECList> lists)
{
ECList listToUpdate;
foreach (ECList list in lists)
{
listToUpdate = GetECList(list.DatabaseId);
listToUpdate = list; // I also tried listToUpdate.IsDiplayed = list.IsDiplayed
ECContextManager.Context.SubmitChanges();
}
}
編集:
問題を明らかにするために単体テストを行いました。
[TestMethod]
public void _1DeactivateService()
{
bool newBool = false;
ECContextManager.Dispose();
ECList service = ECListManager.GetECList(2);
// IsDiplayed is true by default
service.IsDisplayed = newBool;
service.Subtitle = "test";
ECContextManager.Context.SubmitChanges();
ECContextManager.Dispose();
ECList service2 = ECListManager.GetECList(2);
if (newBool)
{
Assert.IsTrue(service2.IsDisplayed);
}
else
{
Assert.IsFalse(service2.IsDisplayed);
}
}
最後service2
に「テスト」というサブタイトルがありますが、 IsDiplayed の値はまだ「真」です...