EF Core:一统SQL和NoSQL数据库
推出EF Core的初衷之一,就是開發(fā)出一種可在很少甚至不更改代碼的情況下使用SQL和NoSQL數(shù)據(jù)庫的模型。Microsoft正向此目標邁出第一步,發(fā)布了用于Azure Cosmos DB的實驗性EF提供程序(provider)。據(jù)EF 2.1路線圖介紹:
Cosmos DB提供程序預(yù)覽:我們一直開發(fā)用于Cosmos DB中DocumentDB API的EF Core提供程序。這是我們推出的首個文檔數(shù)據(jù)庫提供程序,從此實踐中獲得的經(jīng)驗教訓(xùn),將為2.1版之后的設(shè)計提供指引。當前,我們計劃在2.1版中發(fā)布Cosmos DB提供程序的早期預(yù)覽版。
InfoQ前期曾報道過,Azure Cosmos DB是一種“多模型”NoSQL數(shù)據(jù)庫。它可作為文檔數(shù)據(jù)庫使用,類似于已停用的Azure DocumentDB,或是類似于使用MongoDB API。它也可作為基本的鍵值表使用、基于Gremlin實現(xiàn)圖形數(shù)據(jù)庫,或是使用Cassandra API實現(xiàn)時序數(shù)據(jù)庫。
UseDocumentDB()是EF Core為支持NoSQL而推出的首個新API。它的輸入是URL、鍵值和數(shù)據(jù)庫名,替代了數(shù)據(jù)庫連接字符串。
NoSQL數(shù)據(jù)庫同樣可使用dbContext.Database.EnsureCreated(),并且刪除數(shù)據(jù)庫也很簡單,調(diào)用dbContext.Database.EnsureDeleted()即可。除此以外,所有API的使用,與基于EF的正常應(yīng)用操作存儲在SQL Server中的數(shù)據(jù)一樣。
在Channel 9給出的演示中,并將數(shù)據(jù)真實存儲在一個典型的NoSQL層次文檔中,而是和正常的數(shù)據(jù)庫一樣,在不同的的集合中存儲Blog和Post對象。相關(guān)文檔目前依然尚未發(fā)布,因此現(xiàn)在解釋如何配置這些行為還為時尚早。
原文:http://www.infoq.com/cn/news/2018/03/EF-Core-NoSQL
.NET社區(qū)新聞,深度好文,歡迎訪問公眾號文章匯總 http://www.csharpkit.com
總結(jié)
以上是生活随笔為你收集整理的EF Core:一统SQL和NoSQL数据库的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Windows Developer Da
- 下一篇: Entity Framework Cor