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遗留驱动程序有许多限制,不方便和缓慢的批量插入机制。
- EntityFramework代码优先自定义连接string和迁移
- entity framework6.0下的ORM实体与域实体
- 找不到可执行的匹配命令“dotnet-ef”
- Entity Framework 4 Single()vs First()vs FirstOrDefault()
- 我可以更改entity framework4.3代码优先的默认模式名称吗?
- 使用Entity Framework Fluent语法或内联语法编写recursionCTE
- 如何使用entity frameworkselect单个列?
- 将System.ComponentModel默认值Attrbute中的DateTime属性的默认值设置为DateTime.Now
- EF数据上下文 – asynchronous/等待和multithreading