0

私は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 の値はまだ「真」です...

4

0 に答える 0