データの作成 - .NET SDK
Atlas Device SDK は非推奨です。 詳細については、 の廃止ページを参照してください。
Realm オブジェクトの作成
ドキュメントを作成または更新する際、すべての書込み (write) はトランザクション内で実行される必要があります。
次のコードは、新しい Realm オブジェクトを作成するための 2 つの方法を示しています。 最初の例では、最初に オブジェクトを作成し、次に WriteAsync()メソッド内の Realm に追加します。 2 番目の例では、 WriteAsync
ブロック内に ドキュメントを作成しています。これにより、さらに操作可能な Realm オブジェクトが返されます。
var testItem = new Item { Name = "Do this thing", Status = ItemStatus.Open.ToString(), Assignee = "Aimee" }; await realm.WriteAsync(() => { realm.Add(testItem); }); // Or var testItem2 = await realm.WriteAsync(() => { return realm.Add<Item>(new Item { Name = "Do this thing, too", Status = ItemStatus.InProgress.ToString(), Assignee = "Satya" }); } );
Realm オブジェクトのアップサート
ドキュメントをアップサートする方法は、任意のupdate
パラメータをtrue
に設定することを除いて、新しいドキュメントの作成と同じです。 この例では、一意のId
を持つ新しいItem
オブジェクトを作成します。 次に、ID は同じであるがName
値が異なるアイテムを挿入します。 update
パラメータがtrue
に設定されているため、既存のレコードは新しい名前で更新されます。
var id = ObjectId.GenerateNewId(); var item1 = new Item { Id = id, Name = "Defibrillate the Master Oscillator", Assignee = "Aimee" }; // Add a new person to the realm. Since nobody with the existing Id // has been added yet, this person is added. await realm.WriteAsync(() => { realm.Add(item1, update: true); }); var item2 = new Item { Id = id, Name = "Fluxify the Turbo Encabulator", Assignee = "Aimee" }; // Based on the unique Id field, we have an existing person, // but with a different name. When `update` is true, you overwrite // the original entry. await realm.WriteAsync(() => { realm.Add(item2, update: true); }); // item1 now has a Name of "Fluxify the Turbo Encabulator" // and item2 was not added as a new Item in the collection.