Realm .NET-如何复制/分离对象

问题描述 投票:3回答:2

我在Xamarin中使用Realm for .NET时遇到问题。

我可以正常添加,更新和删除对象,但是同样,java,.NET的Realm也没有copyFromRealm对象。

我的方法只是打开领域,选择数据,我需要在数据层外处理此对象(我正在使用一个类来查询数据并在另一层中对其进行验证)。

但是即使使用DeepCloner(nuget),领域也会引发异常,指责该领域已关闭,但我正在使用.NET的using()指令将其关闭。

我有可能在关闭并操作该对象之前,从领域复制该对象。我只需要读取对象中的数据,而无需再次将其写入Realm。

using(var realm = Realm.GetInstance(config))
{
    var data = realm.All<DadosUsuario>().FirstOrDefault().ShallowCopy();
}
c# xamarin realm
2个回答
0
投票

是的,没有理由为什么这不可能。 DeepClone失败的可能原因是它从RealmObject基类(最著名的是Realm)克隆了属性。相反,您可以自己编写clone方法,也可以使用AutoMapper,它应该开箱即用地忽略只读属性,但需要更多配置。


0
投票

[对于寻求此方法的其他人,描述为here的第一种方法对我们来说效果很好。

© www.soinside.com 2019 - 2024. All rights reserved.