XamarinのRealm for .NETを使用している問題があります。レルム - オブジェクトのコピー/デタッチ方法
通常はオブジェクトを追加、更新、削除できますが、Realm for .NETにはcopyFromRealmオブジェクトがありません。
私のメソッドは、レルムを開いてデータを選択するだけで、このオブジェクトをデータ・レイヤー(データを照会するクラスを使用して別のレイヤーで検証する)を処理する必要があります。
しかし、DeepCloner(ナゲット)を使用しても、レルムは領域が閉じられていると非難していますが、using()命令を使用して閉じています。
オブジェクトを閉じてオブジェクトを操作する前に、オブジェクトを領域からコピーすることは可能です。オブジェクトのデータを読み取るだけで、Realmに再度書き込む必要はありません。
using(var realm = Realm.GetInstance(config))
{
var data = realm.All<DadosUsuario>().FirstOrDefault().ShallowCopy();
}
https://stackoverflow.com/questions/46628890/exception-when-converting-local-realm-to-synced-realm-in-xamarinios/46629763#46629763 – SushiHangover
ありがとう、これは私の問題を解決する。どうもありがとう。あなたはクレジットを与えるために答えを出すことができますか? AutoMapperからNewtonsoftに変更する理由を説明できますか? –
'AutoMapper'は素晴らしいライブラリです。 AutoMapperやDeepCloneのようなlibの中核的な問題は、一般的なやり方で、コピーしている "レコード"の数や必要なセットアップの数がどれくらい速いのかです。私は** my **のニーズに関連したベンチマークを行いました.Json.Netを使用すると、残りの部分と同じくらい速く、通常は** my **データのために、あなたは大きく違うかもしれません... RealmObjectのサブクラスでもうまく動作します。 R/Wプロパティは簡単ですが、領域 'IList 'を処理し、リンクされたオブジェクトツリーを横断します。 –
SushiHangover