我是一名Xamarin开发人员,我以前使用Sqlite作为移动数据库,
最近,领域出现了。
知道它们在性能和use..etc易用性方面的差异吗?
使用这两种方法的最佳实践是什么?
发布于 2016-06-04 02:40:22
我是领域的Xamarin团队的开发人员,所以我可以告诉您Xamarin产品是如何工作的。
领域有一个C++核心,它在所有产品中都很常见。这就是为什么我们为每个平台发布而不仅仅是一种语言--我们需要包含本机核心。虽然我们支持PCL构建您的代码,但我们没有这样的PCL库--在构建时,您的PCL代码将链接到匹配的IOS或Android库。
所有领域产品都是单独开发的,目的是为给定的编程语言提供一个惯用的接口,在代码和数据之间尽可能精简一层。
这意味着,例如,C#产品提供LINQ查询,并使用C#对象作为定义数据模型的手段。在构建时,运行Fody代码生成器来添加属性设置器和getter,这样您的C#对象将直接与核心C++数据交互。与典型的ORM产品不同,不能将数据从数据库复制到缓冲区,然后再复制到对象中。
领域数据是内存映射的,因此它直接从代码到存储。我们生成访问器方法来替换自动属性getter和setter。
我们用零拷贝这个词来描述这个。相反,大多数其他系统都有C#对象,这些对象的字段支持它们的属性。这些对象通常通过从磁盘存储中读取的SQLite缓冲区进行复制来填充。这是两个层次的复制。
https://stackoverflow.com/questions/37151580
复制相似问题