Atlas Device SDK は非推奨です。 詳細については、 の廃止ページを参照してください。
バージョン12.2.0での変更: RealmValueは混合データのリストと辞書を保持できます。
RealmValueデータ型は混合データ型であり、埋め込みオブジェクトまたはセットを除く他の有効な Realm データ型を表すことができます。 タイプRealmValueのコレクション(リスト、セット、辞書)を作成できます。
// CS0029 - Cannot implicitly convert type: RealmValue myList = new List<Inventory>(); // These are valid uses of RealmValue: var rvList = new List<RealmValue>(); var rvDict = new Dictionary<string, RealmValue>();
注意
null 可能なRealmValueは作成できません。 ただし、 RealmValueプロパティに null 値を含める場合は、特別なRealmValue.Nullプロパティを使用できます。
RealmValue プロパティの作成
次のコードは、 IRealmObjectから継承するクラスにRealmValueプロパティを作成し、そのプロパティの値を設定して取得する方法を示しています。
public partial class MyRealmValueObject : IRealmObject { [] [] public Guid Id { get; set; } public RealmValue MyValue { get; set; } // A nullable RealmValue property is *not supported* // public RealmValue? NullableRealmValueNotAllowed { get; set; } private void TestRealmValue() { var obj = new MyRealmValueObject(); // set the value to null: obj.MyValue = RealmValue.Null; // or an int... obj.MyValue = 1; // or a string... obj.MyValue = "abc"; // Use RealmValueType to check the type: if (obj.MyValue.Type == RealmValueType.String) { var myString = obj.MyValue.AsString(); } }
混合としてのコレクション
バージョン12.2.0以降では、 RealmValueデータ型にRealmValue要素のコレクション(リストまたは辞書であるが、セットではない)を保持できます。 混合コレクションを使用して、非構造化データまたは変数データをモデル化できます。 詳細については、「非構造化データの定義 」を参照してください。
混合コレクションは最大100レベルまでネストできます。
通常のコレクションと同様に、混合コレクション プロパティをクエリし、 変更のリスナーを登録できます。
混合コレクション要素を個別に検索して更新できます
セットまたは埋め込みオブジェクトを混合コレクションに保存することはできません。
混合コレクションを使用するには、データモデルでRealmValue型のプロパティを定義します。 次に、 プロパティをリストまたは辞書として設定します。