实体框架和MongoDb

Cha*_*nce 60 orm entity-framework mongodb

Entity Framework是否可能支持MongoDb数据库?也许有人会编写EF MongoDb Provider?

And*_*ich 53

简短的回答 - 不,这肯定是可能的,但不合理.

MongoDB是文档数据库,不支持集合之间的任何物理关系.EF非常适合SQL,MySQL等关系数据库.通过嵌入式文档,MongoDB可以更快地运行.所以这只是两种不同的方法.

  • 为什么不?实体框架是一个 ORM,一个复杂的复合对象更像一个文档,而不是少数 FK 喜欢的几个表中的一堆行。此外,EF到MongoDB可以依靠手动引用来实现关系。因此,在文档数据库中实现 EF 提供程序应该比在 RDBMS 中更容易。 (4认同)
  • EF 是一个 ORM,它将应用程序轮胎中的对象映射到数据轮胎中的关系模型。在mongo中,借助Mongo驱动程序,对象可以直接传递给数据轮胎,因此不需要ORM。使用 EF 进行 mongodb 或开发和 Provider 是大材小用。 (2认同)

rea*_*ers 36

查看最新版本的MongoDB C#Library ....支持LINQ!

http://www.mongodb.org/display/DOCS/CSharp+Driver+LINQ+Tutorial

  • @ mehul9595这是一个很好的问题,不,这并不意味着,所以这个答案真的不能解决问题. (6认同)
  • 支持Linq是否意味着它也支持EF? (3认同)
  • 这个链接已经死了. (2认同)

Jon*_*ora 7

我是实体框架的忠实粉丝,所以当我第一次尝试使用mongoDb时,我创建了一个名为"MongoDB.Dynamic"的库,它在EF Code First旁边有一个方法.MongoDB在物理上没有集合之间的关系,但你可以模拟它.MongoDB.Dynamic有一个称为Eager Loading的功能,如果实体具有常规结构,您可以自动配置集合和加载相关文档之间的关系.您可以尝试阅读MongoDB.Dynamic上的一些文档


vle*_*lee 5

MongoDB 现已发布官方支持的 EF Core 提供程序(目前处于预览版)。

Github 仓库:https://github.com/mongodb/mongo-efcore-provider

NuGet: https: //www.nuget.org/packages/MongoDB.EntityFrameworkCore

问题/错误跟踪器:https://jira.mongodb.org/projects/EF/issues/EF-63