[关闭]
@Rays 2018-03-03T02:23:15.000000Z 字数 937 阅读 1829

EF Core:一统SQL和NoSQL数据库

语言开发 MIcrosoft


摘要: 推出EF Core的初衷之一,就是开发出一种可在很少甚至不更改代码的情况下使用SQL和NoSQL数据库的模型。Microsoft正向此目标迈出第一步,发布了用于Azure Cosmos DB的实验性EF提供程序。

作者: Jonathan Allen

正文:

推出EF Core的初衷之一,就是开发出一种可在很少甚至不更改代码的情况下使用SQL和NoSQL数据库的模型。Microsoft正向此目标迈出第一步,发布了用于Azure Cosmos DB的实验性EF提供程序(provider)。据EF 2.1路线图介绍:

Cosmos DB提供程序预览:我们一直开发用于Cosmos DB中DocumentDB API的EF Core提供程序。这是我们推出的首个文档数据库提供程序,从此实践中获得的经验教训,将为2.1版之后的设计提供指引。当前,我们计划在2.1版中发布Cosmos DB提供程序的早期预览版。

InfoQ前期曾报道过,Azure Cosmos DB是一种“多模型”NoSQL数据库。它可作为文档数据库使用,类似于已停用的Azure DocumentDB,或是类似于使用MongoDB API。它也可作为基本的键值表使用、基于Gremlin实现图形数据库,或是使用Cassandra API实现时序数据库。

UseDocumentDB()是EF Core为支持NoSQL而推出的首个新API。它的输入是URL、键值和数据库名,替代了数据库连接字符串。

NoSQL数据库同样可使用dbContext.Database.EnsureCreated(),并且删除数据库也很简单,调用dbContext.Database.EnsureDeleted()即可。除此以外,所有API的使用,与基于EF的正常应用操作存储在SQL Server中的数据一样。

Channel 9给出的演示中,并将数据真实存储在一个典型的NoSQL层次文档中,而是和正常的数据库一样,在不同的的集合中存储BlogPost对象。相关文档目前依然尚未发布,因此现在解释如何配置这些行为还为时尚早。

查看英文原文: EF Core: Unifying SQL and NoSQL Databases

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注