3

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

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

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

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

4

1 回答 1

1

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

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

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

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

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

于 2012-03-17T17:33:09.963 回答