1. 程式人生 > >EF Core:一統SQL和NoSQL資料庫

EF Core:一統SQL和NoSQL資料庫

推出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物件。相關文件目前依然尚未釋出,因此現在解釋如何配置這些行為還為時尚早。

原文:http://www.infoq.com/cn/news/2018/03/EF-Core-NoSQL

.NET社群新聞,深度好文,歡迎訪問公眾號文章彙總 http://www.csharpkit.com

640?wx_fmt=jpeg&wxfrom=5&wx_lazy=1