entity framework和MongoDb

Entity Framework是否支持MongoDb数据库?也许有人会写一个EF MongoDb Provider?

简短的回答 – 不,这当然是可能的,但不合理。

MongoDB是文档数据库,不支持集合之间的任何物理关系。 EF非常适合像SQL,MySQL等关系型数据库。MongoDB在embedded式文档中工作得更快。 所以这只是两种不同的方法。

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

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

我是一个entity framework的粉丝,所以当我第一次尝试mongoDb时,我创build了一个名为“MongoDB.Dynamic”的库,在EF Code First旁边有一个方法。 MongoDB在物理上没有集合关系,但是可以模拟它。 MongoDB.Dynamic具有一个称为Eager Loading的特性,如果实体具有约定结构,则可以自动configuration集合和加载相关文档之间的关系。 您可以尝试阅读MongoDB.Dynamic上的一些文档

在线看,RSSBus看起来已经创build了一个MongoDBProviderServices DLL,可以用于entity framework6。

http://cdn.rssbus.com/help/DG1/ado/pg_ef6.htm

该链接包括一个关于如何实现它的教程。

我不build议使用旧版本的使用LINQ的MongoDb提供程序。 最好的和稳定的C#MongoDb驱动程序是C#的官方MongoDb驱动程序2.0,它使用了构build器的机制。

LINQ遗留驱动程序有许多限制,不方便和缓慢的批量插入机制。