更新数据 - .NET SDK
Atlas Device SDK 已弃用。 有关详细信息,请参阅弃用页面。
更新与创建新文档相同。 更新文档时,所有写入都必须在事务中进行。
修改对象
以下示例展示了如何修改现有对象。 在此示例中,我们将更新Dog
对象的 Name
和Age
属性:
var dog = realm.All<Dog>().First(); realm.WriteAsync(() => { dog.Name = "Wolfie"; dog.Age += 1; });
更新或插入 (upsert)
更新或插入操作允许您在不知道文档是否已存在的情况下创建或修改该文档。 有关更多信息,请参阅更新或插入 Realm 对象。
更新collection
以下代码演示了如何更新collection。
realm.Write(() => { // Create someone to take care of some dogs. var ali = new Person { Id = id, Name = "Ali" }; realm.Add(ali); // Find dogs younger than 2. var puppies = realm.All<Dog>().Where(dog => dog.Age < 2); // Loop through one by one to update. foreach (var puppy in puppies) { // Add Ali to the list of Owners for each puppy puppy.Owners.Add(ali); } });
注意
由于 域 在 Dog 的属性和 Person 的属性之间使用 隐式反向关系 Owners
Dogs
,因此在我们更新每只狗的列表的同时,域 会自动更新 AliOwners
的狗列表。