使用RavenDB作为Orchard CMS模块的数据库

使用RavenDB作为Orchard CMS模块的数据库,ravendb,orchardcms,Ravendb,Orchardcms,我刚刚开始使用Orchard CMS。创建一个使用RavenDB作为数据库的Orchard模块有多困难?对SQL和NHibernate的严格依赖是否深入到Orchard中?Orchard的所有核心功能都基于NHibernate,因此很难将整个Orchard数据库移动到NHibernate不支持的另一个DBMS中。然而,Orchard是非常可扩展的,从您自己的模块访问各种自定义数据源非常容易。例如,我目前正在一个项目中工作,我们将数据存储在图形数据库(neo4j)中,并使用WCF服务访问Orcha

我刚刚开始使用Orchard CMS。创建一个使用RavenDB作为数据库的Orchard模块有多困难?对SQL和NHibernate的严格依赖是否深入到Orchard中?

Orchard的所有核心功能都基于NHibernate,因此很难将整个Orchard数据库移动到NHibernate不支持的另一个DBMS中。然而,Orchard是非常可扩展的,从您自己的模块访问各种自定义数据源非常容易。例如,我目前正在一个项目中工作,我们将数据存储在图形数据库(neo4j)中,并使用WCF服务访问Orchard中的数据


这取决于您需要访问哪种类型的数据,但您可能需要创建一个自定义内容部分,动态加载数据,而不是通过NHibernate使用底层SQL数据库。您可以通过从非泛型ContentPart类继承(泛型ContentPart类使用使用使用NHibernate存储的记录)并使用ContentHandler从自定义数据源填充数据来完成此操作。

中有一个实验性的基于RavenDB的数据层实现


它是几个月前构建的,我不确定它与当前版本的兼容性,但是你可以试试。从那时起,DL没有大的变化,所以我认为它应该可以工作,或者只需要一些调整

我完全同意依赖SQL数据库的现有模块。我唯一关心的是,我想创建新的模块,可以接入其他数据源。你能从图库中推荐一个我应该看的模块,它使用SQL以外的东西来获取数据吗?