从实体框架到MongoDB的端口

时间:2011-10-10 05:30:31

标签: mongodb relational-database entity-framework-4.1 poco nosql

我正计划从实体框架4.0移植到MongoDb。有哪些最佳实践可以最大限度地减少影响,因为项目具有社交网络功能,因此维护一个复杂的关系数据库。因此,如果我们使用,性能应该是一个问题 关系数据库。

我们在项目中使用了域层(使用POCO),存储库模式和DTO映射。此外, 决定有哪些优点和缺点?同时,它如何影响我的域层实现?

1 个答案:

答案 0 :(得分:2)

如果您想'最小化影响,您将需要在MongoDB中创建一个SQL中的数据库。由于数据库中没有连接,因此您需要执行多次读取才能完成查询。本身并不是太糟糕,因为MongoDB非常快,但显然它还有其他问题(并发等)。

但是,如果你想完全转向NOSQL的做事方式,那么你可能无法'减少影响',你需要做出实质性的改变。存储内容的方式,访问方式以及更新方式。

存储:您可能会在数据库中创建非规范化的文档,并且比“模型”更接近“ViewModels”。例如,您可以在父记录中存储子记录计数,以便您可以显示它而无需加载或计算它们。

访问:您最终可能会使用Map-Reduce对数据库进行一些查询,这与传统查询的思维方式截然不同。

更新:为了充分利用