EF Core助力信創國產數據庫

前言

國產數據庫作爲國產化替代的重要環節,在我國信創產業政策的指引下實現加速發展,我們國產數據庫已進入百花齊放的快速發展期,相信接觸到政府類等項目的童鞋尤爲了解,與此同時我們有一部分也在使用各種開源的ORM都早已支持主流國產數據庫,我們也有一部分在使用官方EF Core但沒有對國產數據庫的統一的管理和支持,去年我寫過一篇如何使用EF Core適配支持人大金倉,既然如此,利用我工作空餘時間將其適配後開源出來,大家來共同添磚加瓦

人大金倉和華爲高斯數據庫介紹

人大金倉和華爲高斯數據庫底層都是基於PostgreSQL,關於各自之後基於數據庫本身增添的特性在此不做進一步的闡述,可自行去官網瞭解。這裏我所講的特性,僅僅陳述我們表列等基本特性,這也是我們進行增刪改查業務操作所需要用到的,根據我的瞭解,人大金倉在不斷適配PostgreSQL的新版本,最新應該是PostgreSQL 12.0,所以這樣一來對於新的人大金倉版本我們可能直接使用Npgsql即可使用,但對於老的版本可能又不行,當然PostgreSQL新版本上的新特性,人大金倉有些自然而然也就對應繼承了,比如主鍵自增長,在PostgreSQL 10.0新增,對應人大金倉本身對於列類型也做了對應的擴充等等。華爲高斯數據庫底層一直停留在PostgreSQL 9.2.4,所以呢,PostgreSQL 10.0新增的主鍵自增長Identity就無法支持,只支持通過Squence創建,通過OpenGaussDB官網也可印證這一點。

支持人大金倉和華爲高斯數據庫

在我當前淺薄認知下,信創國產數據庫人大金倉和高斯數據庫比較腰間突出,所以我已優先適配人大金倉 EF Core 6.x和華爲高斯EF Core 8.0版本且已發佈至NuGet,開源地址爲我們土生土長的.NET NCC社區:https://github.com/dotnetcore/EntityFrameworkCore.KingbaseEShttps://github.com/dotnetcore/EntityFrameworkCore.GaussDB。具體使用方式請見README

後續計劃

接下來會支持高斯6.0/7.0、人大金倉7.0/8.0,至於發佈時間嘛,沒人提ISSUE則根據我個人的空擋時間而定,有需求的話則根據具體反饋做對應優先級處理調整。我還是希望能有更多同仁參與進來,我指的是共同參與做貢獻,而不是多提ISSUE,畢竟我個人的時間和精力也有限,哈哈

關於ISSUE處理基本規範

順便提一嘴,有關問題可能需要復現,請允許我提前說一句:Guys, I'm going to need a concrete code sample which reproduces the issue, otherwise I'm not going to be able to investigate.若丟一堆與問題無關的代碼過來,還需要我來搭建各種環境,抽絲剝繭,抱歉,我將不予理會,當然,要是按小時付費也不是不可以 ,即便是搭建一個星期我也很樂意,這是我莫大的榮幸

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章