2012-09-04 59 views
0

我们正在开始使用MVC3和mongoDB进行数据库存储的新项目。任何人都可以指出我们更好的项目架构。MVC3 MongoDB项目体系结构

,我们有以下疑问:

  1. 我们能否Project.Data(用于数据访问的MongoDB),Project.WEB.UI(MVC),Project.Core(业务逻辑) - 在Visual 3个项目演播室解决方案文件
  2. 哪里有模型类?在Project.Core中?如何分享这些项目之间的模型?
  3. 如果任何人有这样的架构,并有一些样本类和接口(在VS项目文件中),请分享我的
  4. 我们还需要有数据模型以及与mongodb进行交互?在哪里放置这些模型?我们可以在所有项目中共享这些模型吗?任何工作代码是高度赞赏。

注意:我已经看到其他几个SO问题了,这些问题都没有直接回答我的问题。

在此先感谢。

回答

1

在我工作过的一个项目上,我们最终结合了作为核心和数据的内容。最初,我们在服务和具有Mongo查询的DAL中完全分离了关注业务逻辑的问题。因为当你使用MongoDB时,与使用RDBMS的工作截然不同,我们发现我们的大部分业务逻辑都是以一种使Mongo具体的方式编写的,所以我们组合了这些层,因为看起来我们有一个冗余层,如果我们决定回到RDBMS,我们可能会重写一些逻辑。

至于你的问题,你的域对象是你的Mongo实体,所以我会把它们放在你的数据层。然后,我会在您的WEB项目中使用您的MVC模型,并使用Automapper在它们之间进行映射。