ASP.NET MVC3和MongoDB

时间:2011-08-11 17:55:39

标签: c# asp.net asp.net-mvc-3 architecture mongodb

我想使用ASP.NET MVC3和MongoDB构建一个新的Web应用程序。我在网上看过很多例子,甚至自己构建了一些工作代码,但我想知道如何设置我的应用程序。在使用Entity Framework的MVC示例中,它们将所有内容放在Models文件夹中。我想我会做同样的事情,但我应该在哪里提出我的疑问等等。我应该把它们抽象到更好的位置。我对制作C#应用程序和.NET世界有点新意,所以我还不清楚一些“方法”。另外,每次需要时都会创建数据库对象(我告诉它mongo的服务器地址)是否会影响性能?我可以只连接一次,然后通过该对象进行通话吗?每次执行该操作时它是否真的重新连接?

谢谢!

2 个答案:

答案 0 :(得分:5)

通常,在您的模型中,您有一个表示您的域的对象模型。

使用MongoDB,这不会改变。模型中的对象仍然具有属性和行为。

改变的是,不是将每个对象存储在关系模型的表中,而是存储对象图。假设您有发票。您将存储发票,发票的所有行都作为单个记录存储。这就是它,并不是那么复杂。

答案 1 :(得分:1)

首先,不要在ASP.NET MVC视图中直接使用您的域对象(您应该使用Entity Framework或MongoDB保存到RDBMS)!请改用viewmodels。然后,您将在ASP.NET MVC项目中拥有Models文件夹,并为您的域提供单独的项目。

之前我没有使用MongoDB,但我认为每个http请求拥有数据库对象的最佳方法。 Here is讨论了stackoverflow和10gen关于他们的C#驱动程序的here is视频。