面向对象数据库介绍
先拿ORM来说吧. ORM是什么, 为什么用ORM一般来说程序是面向对象的(或者主流是面向对象的), 也就是O(Object), 那就会有对象, 关联, 继承, 聚合等 一般来说数据库是面向关系的(或者说主流是面向关系的), 也就是R(Relation), 那就有表格, 主外键, 关系等持久化存储数据所采用的数据模型和编写程序所采用的数据模型有差异, 也称为"阻抗不匹配", 于是就出现了M(Mapping), ORM的目的就在此关系型数据库与面向对象结合使用就会有以上的问题
面向对象数据库
面向对象数据是以对象为存储单位来进行存储, 不需要进行任何Mapping面向对象有许多开源的产品
NDatabase
为什么选择NDatabase
-存储: 可以存储任何对象, 不需要[serializable], 不需要继承接口, 不需要特殊的对象ID-性能: 比Json.NET快1-%-20%, 比内置的.NET serializer快-简单: 很容易学习和掌握, 支持LINQ综述
-简单: 几乎不用学习, 零安装, 零配置-小: 小于300k-安全: 支持ACID
-一个文件: 易于使用, 备份功能
-Triggers, 包括Select trigger, Insert trigger, Delete trigger, Update trigger-Indexed, 支持索引-Refactoring, 支持反射, 增加字段, 重命名字段, 删除字段-Logging