0

我正在开发一个 MVVM 应用程序,我正在尝试从 viewmodel 更新我的数据库对象。

我正在尝试更新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