命名空间 Realm
类
AsymmetricObject
可在Realm中持久化但无法检索且因此无法修改的任何对象的基础。
BacklinkAttribute
一个属性,表示它所修饰的属性是关系的反向端。
ChangeSet
ChangeSet描述了自上次调用通知回调以来IRealmCollection<T>内部的变更。
CollectionExtensions
一组扩展方法,通过collection公开与通知相关的功能。
DictionaryChangeSet
DictionaryChangeSet描述自上次调用通知回调以来IDictionary<TKey, TValue>内部的更改。
EmbeddedObject
可在Realm中持久化的任何嵌入式对象的基础。
ErrorEventArgs
提供错误事件的错误信息。
ExplicitAttribute
防止将修饰类包含在 Realm 的默认模式中的属性。
FrozenObjectsExtensions
在 RealmObjectBase 之上的一组扩展方法。
GeoBox
表示地理空间GeoWithin(IEmbeddedObject?, GeoShapeBase)查询的矩形。
GeoCircle
表示地理空间GeoWithin(IEmbeddedObject?, GeoShapeBase)查询的球体表面的圆。
GeoPolygon
多边形描述由 3 个或更多线段组成的形状,用于地理空间GeoWithin(IEmbeddedObject?, GeoShapeBase)查询。
GeoShapeBase
Realm 支持的几何类型的基类。 不应直接使用它,而应使用其继承器之一,例如GeoBox 、 GeoCircle或GeoPolygon 。
IgnoredAttribute
指示被忽略属性的属性。 被忽略的属性不会持久保留在 Realm 中。
InMemoryConfiguration
为内存中的 Realm 指定设置的 Realm 配置。 当具有相同标识符的所有内存中实例都被释放或超出范围时,该 Realm 中的所有数据都将被删除。
IndexedAttribute
指示索引属性的属性。 索引属性会略微减慢插入速度,但可以大大加快查询速度。
KeyPathsCollection
表示通过 SubscribeForNotifications(NotificationCallbackDelegate<T> , KeyPathsCollection?) 订阅
KeyPathsCollection可以通过以下方式获取:
- 使用Of(params KeyPath[])方法显式构建;
- 通过从List<T>或KeyPath或字符串数大量进行转换来隐式构建它;
- 分别获取完整通知和浅层通知的静态值Full和Shallow之一。
MapToAttribute
指示属性或类应以不同名称持久保存的属性。
迁移
当您将数据库从一个版本迁移到另一版本时,将为您提供此类。 它包含两个属性: OldRealm和NewRealm 。 您应确保NewRealm是最新的。 它将包含与您提供的配置相对应的模型。 您可以使用动态 API 从OldRealm中读取并访问已从类中删除的属性。
PrimaryKeyAttribute
指示主键属性的属性。 它允许快速查找对象并强制存储值的唯一性。 它只能应用于类中的单个属性。
查询方法
提供使用 LINQ 时转换为原生 Realm 查询的方法。
Realm
一个 Realm 实例(也称为 Realm)代表一个 Realm 数据库。
警告:未冻结的 Realm 实例不是线程安全的,也不能跨线程共享。 您必须在要与 Realm 交互的每个线程上调用GetInstance(RealmConfigurationBase?) 。
RealmConfiguration
Realm 配置,用于指定影响 Realm 行为的设置。
其主要角色是从用户提供的任何绝对、相对子目录或文件名生成规范路径。
RealmConfigurationBase
用于指定影响 Realm 行为的配置设置的基类。
其主要角色是从用户提供的任何绝对、相对子目录或文件名生成规范路径。
RealmObject
可在Realm中持久化的任何对象的基础。
RealmObjectBase
可在Realm中持久化的任何对象的基础。 从此类继承的模型将由 Fody 编织器在编译时进行处理。 建议您改为从IRealmObject继承并使用 Realm 源生成器来生成模型。
必需属性
指示必需属性的属性。 持久化时,Realm 将验证该属性的值是否不为 null。
StringExtensions
一组针对字符串的扩展方法,可在 LINQ 查询中使用。
ThreadSafeReference
要在线程之间传递的对象,其中包含对其线程限制对象的线程安全引用。
要在不同线程上解析目标Realm的线程安全引用,请将其传递给Realm.ResolveReference
。
ThreadSafeReference.Dictionary<TValue>
对要在线程之间传递的IDictionary<TKey, TValue>的引用。
要在不同线程上解析目标Realm的线程安全引用,请将其传递给ResolveReference<TValue>(Dictionary<TValue>) 。ThreadSafeReference.List<T>
对要在线程之间传递的IList<T>的引用。
要在不同线程上解析目标Realm的线程安全引用,请将其传递给ResolveReference<T>(List<T>) 。ThreadSafeReference.Object<T>
对要在线程之间传递的RealmObject或EmbeddedObject的引用。
要在不同线程上解析目标Realm的线程安全引用,请将其传递给ResolveReference<T>(Object<T>) 。ThreadSafeReference.Query<T>
对要在线程之间传递的IQueryable<T>的引用。
要在不同线程上解析目标Realm的线程安全引用,请将其传递给ResolveReference<T>(查询<T>) 。ThreadSafeReference.Set<T>
对要在线程之间传递的ISet<T>的引用。
要在不同线程上解析目标Realm的线程安全引用,请将其传递给ResolveReference<T>(Set<T>) 。事务
提供安全读取和写入Realm的范围。 必须通过BeginWrite()显式使用。
结构体
ChangeSet.Move
ChangeSet.Move包含有关在同一IRealmCollection<T>中移动的对象的信息。
距离
表示赤道距离。
DynamicObjectApi
一个类,它公开一组 API 以动态访问托管 RealmObject 中的数据。
GeoPoint
表示点几何图形。
KeyPath
表示订阅通知时可用作 KeyPathsCollection一部分的关键路径。 KeyPath可以从string隐式构建,其中string是属性的名称(例如“FirstName”),最终虚线连接到指示的嵌套属性。 (例如“Dog.Name”)。 通配符还可以用在关键路径中,以捕获给定级别的所有属性(例如," "、"Friends. " 或 "*.FirstName")。 还可以使用ForExpression <T>(Expression<Func<T, object?>>)方法构建 KeyPath,该方法创建与输入表达式表示的属性路径相对应的KeyPath 。
QueryArgument
可以表示任何有效查询参数类型的类型。 它通常用于使用基于字符串的查询语言筛选 Realm collection时 — 例如,在Filter<T>(IQueryable<T>, string, params QueryArgument[])中。
Realm.Dynamic
为Realm实例公开动态 API 的类。
RealmInteger<T>
表示数据库中整数值的结构。 它提供了 API 来递增该值,从而在冲突期间生成正确的合并。
RealmValue
可以表示任何有效 Realm 数据类型的类型。 它本身就是一个有效的类型,这意味着它可用于声明RealmValue类型的属性。 请注意,托管 Realm 对象 中的 RealmValue 属性不能包含 嵌入式对象 或 非对称对象 。
接口
IAsymmetricObject
可在Realm中持久保存的任何非对称对象的基本接口。
IEmbeddedObject
可在Realm中持久化的任何嵌入式对象的基本接口。
IRealmCollection<T>
可迭代、可排序的collection,是 Realm 返回的所有collection的基础。
IRealmObject
可在Realm中持久化的任何对象的基本接口。
IRealmObjectBase
由 Realm 中可持久化的所有对象实现的接口。 此接口目前仅在内部使用。
Enums
索引类型
描述使用IndexedAttribute注释的属性的索引模式。
RealmValueType
表示存储在RealmValue属性中的值的类型。
TransactionState
表示事务的状态。
委托
DictionaryNotificationCallbackDelegate<T>
每次IDictionary<TKey, TValue>的内容发生更改时调用的回调。
notificationCallbackDelegate<T>
每次IRealmCollection<T>内容发生更改时调用的回调。
Realm.RealmChangedEventHandler
RealmChanged使用的处理程序类型。
RealmConfiguration.MigrationCallbackDelegate
为了处理手动迁移,您需要为RealmConfiguration提供迁移回调。 它将使用包含迁移前和迁移后 Realm 的 Migration 实例进行调用。您应确保其NewRealm属性在返回时包含最新的数据库。 oldSchemaVersion
参数将告诉您用户正在 从 哪个 SchemaVersion 迁移。它们应始终迁移到当前的SchemaVersion 。
RealmConfigurationBase.ShouldCompactDelegate
在进程生命周期中首次打开 Realm 时调用的回调,以确定在将其返回给用户之前是否应进行压缩。