首页 > 数据库 >EF Core助力信创国产数据库

EF Core助力信创国产数据库

时间:2023-12-26 16:36:29浏览次数:53  
标签:Core 金仓 人大 PostgreSQL 高斯 数据库 EF 信创

前言

国产数据库作为国产化替代的重要环节,在我国信创产业政策的指引下实现加速发展,我们国产数据库已进入百花齐放的快速发展期,相信接触到政府类等项目的童鞋尤为了解,与此同时我们有一部分也在使用各种开源的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

EF Core助力信创国产数据库_PostgreSQL

EF Core助力信创国产数据库_PostgreSQL_02

后续计划

接下来会支持高斯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.若丢一堆与问题无关的代码过来,还需要我来搭建各种环境,抽丝剥茧,抱歉,我将不予理会,当然,要是按小时付费也不是不可以 ,即便是搭建一个星期我也很乐意,这是我莫大的荣幸

翻译

搜索

复制

你所看到的并非事物本身,而是经过诠释后所赋予的意义



标签:Core,金仓,人大,PostgreSQL,高斯,数据库,EF,信创
From: https://blog.51cto.com/CreateMyself/8984732

相关文章

  • codeforces刷题(1100):1917B_div2
    模板B、EraseFirstorSecondLetter跳转原题点击此:该题地址1、题目大意  给你一个字符串,可以执行任意次以下操作,生成最终的字符串(不可为空),问你能生成的不重复字符串数为多少。操作一:删除字符串第一个字符;操作二:删除字符串第二个字符。2、题目解析  发现,操作一:即选......
  • Vue中的$refs 用法
    Vue中的$refs用法Vue中的$refs原理涉及到Vue实例的生命周期、虚拟DOM以及一些底层的JavaScript原理。Vue实例的生命周期:当Vue实例被创建时,它会经历一系列的生命周期钩子,包括beforeCreate、created、beforeMount、mounted等。在mounted生命周期钩子中,Vue实例的模板已经渲染到真实......
  • Taurus .Net Core 微服务开源框架:Admin 插件【4-6】 - 配置管理-Mvc【Plugin-Doc 接口
    前言:继上篇:Taurus.NetCore微服务开源框架:Admin插件【4-5】-配置管理-Mvc【Plugin-Admin后台】本篇继续介绍下一个内容:系统配置节点:Mvc- Plugin- Doc 接口测试及文档:配置界面如下:  配置说明如下:1、Doc.IsEnable:配置当前接口测试文档插件是否可用这是一个......
  • Cisco Secure Firewall 3100 Series, Firepower Threat Defense (FTD) Software 7.4.1
    CiscoSecureFirewall3100Series,FirepowerThreatDefense(FTD)Software7.4.1&ASASoftware9.20.2FirepowerThreatDefense(FTD)Software请访问原文链接:https://sysin.org/blog/cisco-firepower-2100/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.org为......
  • Cisco Secure Firewall Threat Defense Virtual 7.4.1 - 思科下一代防火墙
    CiscoSecureFirewallThreatDefenseVirtual7.4.1-思科下一代防火墙FirepowerThreatDefense(FTD)Software请访问原文链接:https://sysin.org/blog/cisco-firepower-7/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.org为什么选择CiscoSecure防火墙?CiscoS......
  • Codeforces 1909G - Pumping Lemma
    这个题思考角度很多,做法也很多。这里介绍一种@asmend和我讲的做法。设\(d=m-n\),那么我们枚举\(|x|=i,|y|=j\),设\(s,t\)的LCP长为\(l_1\),LCS长为\(l_2\),那么可以得到这组\((i,j)\)合法的充要条件是:\(i\lel_1\)\(m-i-j-d\lel_2\)。\(d\bmodj=0\)。\(t[i,i+d-1......
  • LocPatcH An efficient long-read hybrid error correction algorithm based on local
    该文档主要介绍了一种基于装配的方法和概率隐藏马尔科夫模型(pHMM)用于纠正长读序列的错误。文档详细描述了对酵母数据进行实验的结果、纠正方法的拓扑结构以及实验设置和数据集。 这种基于装配的纠正方法相对于直接纠正存在哪些优势?pHMM的拓扑结构是怎样的?......
  • 数据库 Mysql 多表查询,left join联合两个sql示例
    SELECTt1.RowID,t1.UserID,t1.CreateDate,t1.BatchState,t2.InputDataCount,t1.QtyFROM(SELECT@curRow:=@curRow+1ASRowID,`UserID`,DATE_FORMAT(CreateDate,'%Y-%m-%d')ASCreateDate,......
  • vue3中toRefs用法
    toRefs是Vue.js3中的一个实用函数,用于将响应式对象转换为普通对象,其中每个属性都是一个ref对象。这在某些情况下很有用,特别是想要将一个包含多个响应式属性的对象传递给子组件时。以下是toRefs的基本用法:import{reactive,toRefs}from'vue';constreactiveObject=reac......
  • moment js/nodejs/typescript TypeError: moment_1.default is not a function报错解
    引入问题造成的,改一下就好了importmomentfrom'moment'改为constmoment=require('moment');测试一下letret=moment(1617678420000).format('YYYY年MM月DD日hh时mm分ss秒')console.log('日期')console.log(ret)......