如何更新Manage Realm对象?
如果我运行两次失败,说该对象已经被管理。我理解异常,但如何在管理对象后更新/删除对象?
using (var instance2 = Realm.GetInstance())
{
using (var transaction = instance2.BeginWrite())
{
foreach (var item in items)
{
instance2.Manage(item);
}
transaction.Commit();
}
}
答案 0 :(得分:0)
无需再次管理对象。一旦通过调用Manage
将其添加到Realm,它就会变成一个“实时”对象 - 您所做的每个更改都将被保留。所以如果你有一份员工清单:
var instance = Realm.GetInstance();
using (var transaction = instance.BeginTransaction())
{
foreach (var e in employees)
{
instance.Manage(e);
}
transaction.Commit();
}
然后你想要计算他们的工资,你可以这样做:
using (var transaction2 = instance.BeginTransaction())
{
foreach (var e in employees)
{
e.Salary = CalculateSalary(e);
}
transaction2.Commit();
}
如您所见,无需再次调用Manage
,您只需在写入事务中设置要更新的任何属性。