Moh*_*Ali 22
Realm和Sqlite在很多方面都有很大不同.
以下是您可以通过两篇文章来了解主要区别:
系统属性比较领域与SQLite
5个原因,你应该选择领域CoreData/SQLite
正如Slavia在评论中所建议的,还要看看这篇文章,以比较几个ORM,包括Realm.
And*_*ent 22
我是Realm的Xamarin团队的开发人员,所以我可以告诉你更多关于Xamarin产品的工作原理.
Realm有一个C++核心,在所有产品中都很常见.这就是为什么我们为每个平台发布而不仅仅是一种语言 - 我们需要包含本机核心.虽然我们支持您的代码的PCL版本,但我们没有这样的PCL库 - 在构建时,您的PCL代码将链接到匹配的IOS或Android库.
所有Realm产品都是单独开发的,为给定的编程语言提供惯用的界面,在代码和数据之间尽可能地设置一层.
这意味着,例如,C#产品提供LINQ进行查询,并使用C#对象作为定义数据模型的方法.在构建时,运行Fody代码生成器以添加属性设置器和getter,这样您的C#对象将直接与核心C++数据交互.与典型的ORM产品不同,不会将数据从数据库复制到缓冲区中,然后再复制到对象中.
领域数据是内存映射的,所以它直接从代码到存储.我们生成替换自动属性getter和setter的访问器方法.
我们使用术语零拷贝来描述这一点.相比之下,大多数其他系统将具有C#对象,这些对象具有支持其属性的字段.这些对象通常通过从已从磁盘存储中读取的SQLite缓冲区进行复制来填充.这是两个级别的复制.
| 归档时间: |
|
| 查看次数: |
25569 次 |
| 最近记录: |