データの削除 - .NET SDK
Atlas Device SDK は非推奨です。 詳細については、 の廃止ページを参照してください。
オブジェクトの削除
例
次のコードは、Realm から 1 つのオブジェクトを削除する方法を示しています。
realm.Write(() => { // Remove the instance from the realm. realm.Remove(dog); // Discard the reference. dog = null; });
複数のオブジェクトの削除
例
次のコードは、Realm からコレクションを削除する方法を示しています。
realm.Write(() => { // Find dogs younger than 2 years old. var puppies = realm.All<Dog>().Where(dog => dog.Age < 2); // Remove the collection from the realm. realm.RemoveRange(puppies); });
オブジェクトとその依存関係オブジェクトの削除
場合によっては、親オブジェクトを削除するときに削除したい依存関係オブジェクトがあることもあります。 これを連鎖削除と呼びます。 Realm は依存しているオブジェクトを削除しません。 オブジェクトを自分で削除しない場合、Realm 内で孤立したままになります。 これが問題になるかどうかは、アプリケーションのニーズによって異なります。
現在のところ、依存関係オブジェクトを削除する最良の方法は、親オブジェクトを削除する前に、依存関係を反復処理して削除することです。
例
次のコードは、最初に Eli の犬のすべてを削除し、次に Eli を削除するという連鎖削除を実行する方法を示しています。
realm.Write(() => { // Remove all of Ali's dogs. realm.RemoveRange(ali.Dogs); // Remove Ali. realm.Remove(ali); });
特定のタイプのすべてのオブジェクトの削除
Realm は、Realm からのRealm タイプのすべてのインスタンスの削除をサポートしています。
例
次のコードは、Realm からすべてのドキュメント インスタンスを削除する方法を示しています。
realm.Write(() => { // Remove all instances of Dog from the realm. realm.RemoveAll<Dog>(); });
Realm 内のすべてのオブジェクトの削除
すべてのオブジェクトを Realm から削除することができます。 これは Realm のスキーマには影響しません。 これは、プロトタイプ作成中に Realm をすばやくクリアするのに便利です。
例
次のコードは、Realm からすべてを削除する方法を示しています。
realm.Write(() => { // Remove all objects from the realm. realm.RemoveAll(); });