首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Realm.Manage更新

Realm.Manage更新
EN

Stack Overflow用户
提问于 2016-10-24 23:58:04
回答 1查看 217关注 0票数 0

如何更新管理领域对象?

如果我运行两次,它就会失败,说明对象已经被管理了。我理解这个异常,但是如何在对象被管理之后更新/删除它呢?

代码语言:javascript
复制
        using (var instance2 = Realm.GetInstance())
        {
            using (var transaction = instance2.BeginWrite())
            {
                foreach (var item in items)
                {
                    instance2.Manage(item);
                }
                transaction.Commit();
            }
        }
EN

回答 1

Stack Overflow用户

发布于 2016-10-25 04:31:52

不需要再次管理对象。一旦通过调用Manage将其添加到领域中,它就变成了一个“活动的”对象--您所做的每一次更改都将被持久化。因此,如果您有一份员工列表:

代码语言:javascript
复制
var instance = Realm.GetInstance();
using (var transaction = instance.BeginTransaction())
{
    foreach (var e in employees)
    {
        instance.Manage(e);
    }
    transaction.Commit();
}

然后你想,比如说,计算他们的薪水,你可以简单地这样做:

代码语言:javascript
复制
using (var transaction2 = instance.BeginTransaction())
{
    foreach (var e in employees)
    {
        e.Salary = CalculateSalary(e);
    }
    transaction2.Commit();
}

正如您所看到的,不需要再次调用Manage,您只需设置要在写事务中更新的任何属性。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40222706

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档