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.KingbaseES和https://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.若丢一堆与问题无关的代码过来,还需要我来搭建各种环境,抽丝剥茧,抱歉,我会不予理会,当然,要是按小时付费也不是不可以 ,即便是搭建一个星期我也很乐意,这是我莫大的荣幸
翻译
搜索
复制
EF Core助力信创国产数据库的更多相关文章
- 使用EF Core更新与修改生产数据库
使用EF Core的Code First,在设计阶段,直接使用Database.EnsureCreated()和EnsureDeleted()可以快速删除.更新最新的数据结构.由于没有什么数据,删除的 ...
- Solon v2.2.6 发布,助力信创国产化
Solon 是一个高效的 Java 应用开发框架:更快.更小.更简单.它是一个有自己接口标准规范的开放生态,可为应用软件国产化提供支持,助力信创建设. 150来个生态插件,覆盖各种不同的应用开发场景: ...
- Solon v2.2.10 发布,助力信创国产化
Solon 是一个高效的 Java 应用开发框架:更快.更小.更简单.它不是 Spring.没有使用 Servlet.JavaEE 接口,是一个有自己接口标准的开放生态.可以为应用软件国产化提供支持, ...
- EF Core利用Scaffold从根据数据库生成代码
在EF6 之前的时代,如果需要从数据库中生成代码,是可以直接在界面上操作的,而到了EF Core的时代,操作方式又有更简便的方式了,我们只需要记住以下这条指令. Scaffold-DbContext ...
- ASP.NET Core 中使用EF Core 将实体映射到数据库表的方法(SQL Server)
前段时间听过一个关于使用ASP.NET Core建立项目的视频.其中使用EF Core映射到数据库的部分是按部就班地学习.今天自己建立项目时,有些步骤已经有一些遗忘.所以写下这篇文章,顺便理清思路. ...
- EF Core 中多次从数据库查询实体数据,DbContext跟踪实体的情况
使用EF Core时,如果多次从数据库中查询一个表的同一行数据,DbContext中跟踪(track)的实体到底有几个呢?我们下面就分情况讨论下. 数据库 首先我们的数据库中有一个Person表,其建 ...
- .NET CORE 下如何使用国产数据库进行 开发
主流国产数据库 随着贸易战的升级 ,自主研发和知识产权也是一个大的趋势,达梦和人大金仓是国产数据库中比较主流的 1.达梦数据库 更接近Oracle,更偏向自主研发,对开发人员友好度不如金仓 达梦公司在 ...
- [翻译 EF Core in Action 2.2] 创建应用程序的数据库上下文
Entity Framework Core in Action Entityframework Core in action是 Jon P smith 所著的关于Entityframework Cor ...
- [翻译 EF Core in Action 2.0] 查询数据库
Entity Framework Core in Action Entityframework Core in action是 Jon P smith 所著的关于Entityframework Cor ...
- Asp.Net Core 2.0 项目实战(4)ADO.NET操作数据库封装、 EF Core操作及实例
Asp.Net Core 2.0 项目实战(1) NCMVC开源下载了 Asp.Net Core 2.0 项目实战(2)NCMVC一个基于Net Core2.0搭建的角色权限管理开发框架 Asp.Ne ...
随机推荐
- PyCharm的基础了解
简单了解PyCharm PyCharm的简单使用 修改主题 1 2 切换解释器 1 如何创建pythin文件 1 2 3 4 注释语法 行注释 这里是注释 块注释 '''这里是注释''' 常量和变量的 ...
- 京东工业根据ID取商品详情 API
item_get-根据ID取商品详情 注册开通 vipmro.item_get 公共参数 名称 类型 必须 描述 key String 是 调用key(必须以GET方式拼接在URL中) secret ...
- 如何通过抖音订单API接口获取订单详情
要通过抖音订单API接口获取订单详情,您需要进行以下步骤: 1.获取Access Token:使用APP ID和APP Secret调用获取Access Token API接口来获取您的Access ...
- 运用手机运营商二要素Api接口,守护您的账户和隐私,让您安心使用!
随着移动互联网的普及,我们的生活离不开手机,手机成为了我们生活中不可或缺的一部分.但是随着移动支付的普及,手机支付在我们的生活中也变得越来越重要.手机支付是一种方便快捷的支付方式,但是也存在一些安全隐 ...
- jQuery下拉框级联实现
参考代码: //企业类别级联 function getCatalog(){ var name=document.getElementById("Lcata").value; var ...
- C# winform 无边框窗口 移动
给自己留个笔记, 在用wke做界面的时候. 往往需要把winform窗口设置成无边框 但是WebUI也需要移动窗口, 所以才把以前在易语言中用的方法翻译过来使用 第零步: 设置无边框窗口 form属性 ...
- Jmeter获取Websocket多帧消息的实现方法
由于需要对WebSocket进行压力测试,因此又回归到了JMeter的使用.网络上缺少具体的获取多帧消息的操作,且自己也踩了两个坑,总结一下可行的操作供大家参考. 一.情况说明 ...
- Solution -「SP 106」BINSTIRL
Description Link. 求 \(\begin{Bmatrix}n \\ m\end{Bmatrix}\bmod2\) Solution 求 \[\begin{aligned} \begin ...
- 命令行获取chrome版本的多个方法
命令行获取chrome版本的多个方法 基于win10 测试 背景 在selenium的驱动安装中用webdriver_manager自动处理chromedriver是比较好的做法 webdriver_ ...
- 聊聊基于Alink库的主成分分析(PCA)
概述 主成分分析(Principal Component Analysis,PCA)是一种常用的数据降维和特征提取技术,用于将高维数据转换为低维的特征空间.其目标是通过线性变换将原始特征转化为一组新的 ...