Orchard CMS内容类型应该用于应用程序域模型吗?

时间:2012-03-17 16:42:31

标签: orchardcms domain-model

我一直在使用ASP.Net MVC4编写应用程序,其中大部分数据已存储在MongoDB中。这对于我认为应用程序的“肉”的大部分内容都非常有用,它的功能使它与众不同。

但是,现在我需要添加静态内容和管理功能(设置帐户,计费,帮助等)。我非常倾向于使用Orchard CMS来处理所有这些功能,然后将我迄今为止所做的工作迁移到Orchard模块中。

问题是:我应该使用Orchard的内容类型来建模多少数据?我打算继续在Mongo中存储至少一些我的数据,所以现在我不确定在哪里划分界限。

您之前在Orchard中实现过Web应用程序吗?你的域名数据去了哪里?如果您使用了内容类型,是否有任何经验教训?

1 个答案:

答案 0 :(得分:1)

为什么要继续使用MongoDB?在Orchard中,所有数据访问都由NHibernate完成,使用xxxRecord类,其中虚拟属性映射到列。它适用于SQL Compact,SQL Server 2008(和R2)和SQL Azure。

我不知道RavenDB的状态,但是可能有一个模块使用RavenDB来存储blob数据或者只是将它用作no-sql数据存储。

我个人不会使用多个数据存储。

ContentType包含多个“可附加”的ContentParts和ContentField,可以是代码,也可以是使用orchard admin用户界面。如果您愿意,U可以使用存储库,但只能对不直接作为ContentPart的数据执行此操作。 DefaultContentManager具有版本控制,发布,删除等功能。如果你删除了一个ContentType,它只会得到一个已被删除的标志。 (除非你使用另一个执行删除语句的模块)使用存储库存在风险你认为该项目仍然存在而不存在。

作为您问题的最终答案:是的,您应该使用ContentType作为域模型,并且您不必担心正在执行差异查询。