2014-04-17 44 views
4

所以,我着手开始在我的新应用程序中使用mongodb而不是sql server。 当我使用sql server的时候,其中一件好事就是拥有一个ORM层,比如实体框架或者DevExpress XPO。 我听说过Mongo的NoRM,但我看了一下GitHUB网站,它说它不再被维护。所以我想知道是否有人知道我可以在C#.NET应用程序中使用当前维护的ORM/ODM类型解决方案来封装我的模型类与持久层的交互。mongodb orm/odm in .net?

+0

看看https://github.com/RobThree/MongoRepository – Soren

回答

3

以与SQL相同的方式考虑Mongo会是一个错误。把Mongo当成保持你的c#模型的一种方式。构造=>保存 - >获取需要显示的所有数据应该进入模型。然后使用collection.FindAs<ModelType>(SomeQuery)从数据库中获取它们。

+0

这就是我对SQL的看法。 –

+0

那么,你是否建议不应该考虑在MongoDB中使用ORM工具?这是因为,你的应用程序已经拥有模型,并且mongo可以在没有ORM的情况下直接持续/取出它们? –

+0

这是正确的。对于我们来说,我们为我们的应用程序使用一个领域层除域模型外,其他层中不允许模型。因此,如果Web层方法需要一些持久数据,它会通过域实体来获取它。当我们使用mongo时,每个域实体都有一个Mongo Repo。如果使用Mongo C#驱动程序重新序列化和反序列化域模型,则不需要其他中间层。我基本上认为它是Mongo中的冻结模型。这项工作对我们来说是非常好的,你可以制作你所需要的东西,然后放回原来的位置。 – user2391759